* [FFmpeg-devel] [PATCH] avformat/framecrcenc: List types and checksums for for side data
@ 2025-05-18 12:25 Michael Niedermayer
2025-05-18 12:40 ` Michael Niedermayer
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Michael Niedermayer @ 2025-05-18 12:25 UTC (permalink / raw)
To: FFmpeg development discussions and patches
This allows detecting changes and regressions in side data related code, same as what
framecrc does for before already for packet data itself.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
libavformat/framecrcenc.c | 116 +-
tests/ref/fate/autorotate | 2 +-
tests/ref/fate/cover-art-mp3-id3v2-remux | 2 +-
tests/ref/fate/ffmpeg-bsf-input | 10 +-
tests/ref/fate/ffmpeg-spec-disposition | 2 +-
tests/ref/fate/force_key_frames-source | 784 ++++++------
tests/ref/fate/force_key_frames-source-drop | 34 +-
tests/ref/fate/force_key_frames-source-dup | 1224 +++++++++----------
tests/ref/fate/gapless-mp3 | 6 +-
tests/ref/fate/h264_redundant_pps-side_data | 2 +-
tests/ref/fate/id3v2-priv-remux | 2 +-
tests/ref/fate/matroska-hdr10-plus-remux | 2 +-
tests/ref/fate/matroska-ogg-opus-remux | 2 +-
tests/ref/fate/matroska-opus-remux | 2 +-
tests/ref/fate/matroska-vp8-alpha-remux | 14 +-
tests/ref/fate/mov-cover-image | 2 +-
tests/ref/fate/segment-mp4-to-ts | 250 ++--
tests/ref/fate/shortest | 100 +-
tests/ref/fate/webm-hdr10-plus-remux | 2 +-
tests/ref/fate/webm-webvtt-remux | 24 +-
20 files changed, 1346 insertions(+), 1236 deletions(-)
diff --git a/libavformat/framecrcenc.c b/libavformat/framecrcenc.c
index 2ba20f3aab4..96c2a82eb2a 100644
--- a/libavformat/framecrcenc.c
+++ b/libavformat/framecrcenc.c
@@ -21,8 +21,11 @@
#include <inttypes.h>
+#include "config.h"
#include "libavutil/adler32.h"
#include "libavutil/avstring.h"
+#include "libavutil/intreadwrite.h"
+#include "libavutil/hdr_dynamic_metadata.h"
#include "libavcodec/codec_id.h"
#include "libavcodec/codec_par.h"
@@ -48,6 +51,20 @@ static int framecrc_write_header(struct AVFormatContext *s)
return ff_framehash_write_header(s);
}
+static av_unused void inline bswap(char *buf, int offset, int size)
+{
+ if (size == 8) {
+ uint64_t val = AV_RN64(buf + offset);
+ AV_WN64(buf + offset, av_bswap64(val));
+ } else if (size == 4) {
+ uint32_t val = AV_RN32(buf + offset);
+ AV_WN32(buf + offset, av_bswap32(val));
+ } else if (size == 2) {
+ uint16_t val = AV_RN16(buf + offset);
+ AV_WN16(buf + offset, av_bswap16(val));
+ }
+}
+
static int framecrc_write_packet(struct AVFormatContext *s, AVPacket *pkt)
{
uint32_t crc = av_adler32_update(0, pkt->data, pkt->size);
@@ -58,11 +75,104 @@ static int framecrc_write_packet(struct AVFormatContext *s, AVPacket *pkt)
if (pkt->flags != AV_PKT_FLAG_KEY)
av_strlcatf(buf, sizeof(buf), ", F=0x%0X", pkt->flags);
if (pkt->side_data_elems) {
+ int i;
av_strlcatf(buf, sizeof(buf), ", S=%d", pkt->side_data_elems);
- for (int i = 0; i < pkt->side_data_elems; i++) {
- av_strlcatf(buf, sizeof(buf), ", %8"SIZE_SPECIFIER,
- pkt->side_data[i].size);
+ for (i=0; i<pkt->side_data_elems; i++) {
+ const AVPacketSideData *const sd = &pkt->side_data[i];
+ const uint8_t *data = sd->data;
+ uint32_t side_data_crc = 0;
+
+ switch (sd->type) {
+#if HAVE_BIGENDIAN
+ uint8_t bswap_buf[FFMAX3(sizeof(AVCPBProperties),
+ sizeof(AVProducerReferenceTime),
+ sizeof(AVDynamicHDRPlus))];
+ case AV_PKT_DATA_PALETTE:
+ case AV_PKT_DATA_REPLAYGAIN:
+ case AV_PKT_DATA_DISPLAYMATRIX:
+ case AV_PKT_DATA_STEREO3D:
+ case AV_PKT_DATA_AUDIO_SERVICE_TYPE:
+ case AV_PKT_DATA_FALLBACK_TRACK:
+ case AV_PKT_DATA_MASTERING_DISPLAY_METADATA:
+ case AV_PKT_DATA_SPHERICAL:
+ case AV_PKT_DATA_CONTENT_LIGHT_LEVEL:
+ case AV_PKT_DATA_S12M_TIMECODE:
+ for (size_t j = 0; j < sd->size / 4; j++) {
+ uint8_t buf[4];
+ AV_WL32(buf, AV_RB32(sd->data + 4 * j));
+ side_data_crc = av_adler32_update(side_data_crc, buf, 4);
+ }
+ break;
+ case AV_PKT_DATA_CPB_PROPERTIES:
+#define BSWAP(struct, field) bswap(bswap_buf, offsetof(struct, field), sizeof(((struct){0}).field))
+#define BSWAP_RAT(struct, field) do{BSWAP(struct, field.num); BSWAP(struct, field.den);}while(0)
+ if (sd->size == sizeof(AVCPBProperties)) {
+ memcpy(bswap_buf, sd->data, sizeof(AVCPBProperties));
+ data = bswap_buf;
+ BSWAP(AVCPBProperties, max_bitrate);
+ BSWAP(AVCPBProperties, min_bitrate);
+ BSWAP(AVCPBProperties, avg_bitrate);
+ BSWAP(AVCPBProperties, buffer_size);
+ BSWAP(AVCPBProperties, vbv_delay);
+ }
+ goto pod;
+ case AV_PKT_DATA_PRFT:
+ if (sd->size == sizeof(AVProducerReferenceTime)) {
+ memcpy(bswap_buf, sd->data, sizeof(AVProducerReferenceTime));
+ data = bswap_buf;
+ BSWAP(AVProducerReferenceTime, wallclock);
+ BSWAP(AVProducerReferenceTime, flags);
+ }
+ goto pod;
+ case AV_PKT_DATA_DYNAMIC_HDR10_PLUS:
+ if (sd->size == sizeof(AVDynamicHDRPlus)) {
+ memcpy(bswap_buf, sd->data, sizeof(AVDynamicHDRPlus));
+ data = bswap_buf;
+ for(int i = 0; i<3; i++) {
+ BSWAP_RAT(AVDynamicHDRPlus, params[i].window_upper_left_corner_x);
+ BSWAP_RAT(AVDynamicHDRPlus, params[i].window_upper_left_corner_y);
+ BSWAP_RAT(AVDynamicHDRPlus, params[i].window_lower_right_corner_x);
+ BSWAP_RAT(AVDynamicHDRPlus, params[i].window_lower_right_corner_y);
+ BSWAP(AVDynamicHDRPlus, params[i].center_of_ellipse_x);
+ BSWAP(AVDynamicHDRPlus, params[i].center_of_ellipse_y);
+ BSWAP(AVDynamicHDRPlus, params[i].semimajor_axis_internal_ellipse);
+ BSWAP(AVDynamicHDRPlus, params[i].semimajor_axis_external_ellipse);
+ BSWAP(AVDynamicHDRPlus, params[i].semiminor_axis_external_ellipse);
+ //!!! overlap_process_option
+ for(int j=0; j<3; j++)
+ BSWAP_RAT(AVDynamicHDRPlus, params[i].maxscl[j]);
+ BSWAP_RAT(AVDynamicHDRPlus, params[i].average_maxrgb);
+ BSWAP_RAT(AVDynamicHDRPlus, params[i].fraction_bright_pixels);
+ BSWAP_RAT(AVDynamicHDRPlus, params[i].knee_point_x);
+ BSWAP_RAT(AVDynamicHDRPlus, params[i].knee_point_y);
+ for(int j=0; j<15; j++) {
+ BSWAP_RAT(AVDynamicHDRPlus, params[i].distribution_maxrgb[j].percentile);
+ BSWAP_RAT(AVDynamicHDRPlus, params[i].bezier_curve_anchors[j]);
+ }
+ BSWAP_RAT(AVDynamicHDRPlus, params[i].color_saturation_weight);
+ }
+ BSWAP_RAT(AVDynamicHDRPlus, targeted_system_display_maximum_luminance);
+ for(int i = 0; i<25; i++)
+ for(int j = 0; j<25; j++) {
+ BSWAP_RAT(AVDynamicHDRPlus, targeted_system_display_actual_peak_luminance[i][j]);
+ BSWAP_RAT(AVDynamicHDRPlus, mastering_display_actual_peak_luminance[i][j]);
+ }
+ }
+ pod:
+#endif
+
+ default:
+ side_data_crc = av_adler32_update(0, data, sd->size);
+ break;
+ case AV_PKT_DATA_IAMF_MIX_GAIN_PARAM:
+ case AV_PKT_DATA_IAMF_DEMIXING_INFO_PARAM:
+ case AV_PKT_DATA_IAMF_RECON_GAIN_INFO_PARAM:
+ side_data_crc = 0;
+ }
+
+ av_strlcatf(buf, sizeof(buf), ", %s, %8"SIZE_SPECIFIER", 0x%08"PRIx32,
+ av_packet_side_data_name(sd->type), sd->size, side_data_crc);
}
}
av_strlcatf(buf, sizeof(buf), "\n");
diff --git a/tests/ref/fate/autorotate b/tests/ref/fate/autorotate
index 2aa29fafa70..d73890577d1 100644
--- a/tests/ref/fate/autorotate
+++ b/tests/ref/fate/autorotate
@@ -12,7 +12,7 @@
#sample_rate 1: 44100
#channel_layout_name 1: mono
0, -512, 0, 512, 6997, 0x55c700f6
-1, -256, -256, 1536, 416, 0x92ddc529, S=1, 10
+1, -256, -256, 1536, 416, 0x92ddc529, S=1, Skip Samples, 10, 0x00090001
0, 0, 512, 512, 4847, 0xe74f522e, F=0x0
1, 1280, 1280, 1536, 418, 0x0a7fcd2d
0, 512, 1024, 512, 5281, 0xbd4a5dac, F=0x0
diff --git a/tests/ref/fate/cover-art-mp3-id3v2-remux b/tests/ref/fate/cover-art-mp3-id3v2-remux
index 42b2d7450fe..011c123a700 100644
--- a/tests/ref/fate/cover-art-mp3-id3v2-remux
+++ b/tests/ref/fate/cover-art-mp3-id3v2-remux
@@ -20,7 +20,7 @@ a8dc078d174d5c4ae9769090b8404bae *tests/data/fate/cover-art-mp3-id3v2-remux.mp3
#codec_id 3: png
#dimensions 3: 263x263
#sar 3: 1/1
-0, -353590, -353590, 368640, 417, 0x15848290, S=1, 10
+0, -353590, -353590, 368640, 417, 0x15848290, S=1, Skip Samples, 10, 0x034e0055
1, 0, 0, 0, 208350, 0x291b44d1
2, 0, 0, 0, 15760, 0x71d5c418
3, 0, 0, 0, 112719, 0x117b6853
diff --git a/tests/ref/fate/ffmpeg-bsf-input b/tests/ref/fate/ffmpeg-bsf-input
index 67dd57cf6db..83ec362271d 100644
--- a/tests/ref/fate/ffmpeg-bsf-input
+++ b/tests/ref/fate/ffmpeg-bsf-input
@@ -6,13 +6,13 @@
#sar 0: 1/1
0, 0, 0, 1, 2108, 0x57c38f64
0, 2, 2, 1, 31, 0xabe10d25, F=0x0
-0, 4, 4, 1, 1915, 0xd430347f, S=1, 109
+0, 4, 4, 1, 1915, 0xd430347f, S=1, New Extradata, 109, 0xcbe915dc
0, 6, 6, 1, 35, 0xc4ad0d4c, F=0x0
-0, 8, 8, 1, 2108, 0x57c38f64, S=1, 110
+0, 8, 8, 1, 2108, 0x57c38f64, S=1, New Extradata, 110, 0xb4031479
0, 10, 10, 1, 31, 0xabe10d25, F=0x0
-0, 12, 12, 1, 1915, 0xd430347f, S=1, 109
+0, 12, 12, 1, 1915, 0xd430347f, S=1, New Extradata, 109, 0xcbe915dc
0, 14, 14, 1, 35, 0xc4ad0d4c, F=0x0
-0, 16, 16, 1, 2108, 0x57c38f64, S=1, 110
+0, 16, 16, 1, 2108, 0x57c38f64, S=1, New Extradata, 110, 0xb4031479
0, 18, 18, 1, 31, 0xabe10d25, F=0x0
-0, 20, 20, 1, 1915, 0xd430347f, S=1, 109
+0, 20, 20, 1, 1915, 0xd430347f, S=1, New Extradata, 109, 0xcbe915dc
0, 22, 22, 1, 35, 0xc4ad0d4c, F=0x0
diff --git a/tests/ref/fate/ffmpeg-spec-disposition b/tests/ref/fate/ffmpeg-spec-disposition
index 4f24619d2b6..6e3693eddfd 100644
--- a/tests/ref/fate/ffmpeg-spec-disposition
+++ b/tests/ref/fate/ffmpeg-spec-disposition
@@ -3,5 +3,5 @@
#codec_id 0: ac3
#sample_rate 0: 48000
#channel_layout_name 0: stereo
-0, 0, 0, 2880, 768, 0x72b37931, F=0x3, S=1, 1
+0, 0, 0, 2880, 768, 0x72b37931, F=0x3, S=1, MPEGTS Stream ID, 1, 0x00bd00bd
0, 2880, 2880, 2880, 690, 0xa84a4ea2
diff --git a/tests/ref/fate/force_key_frames-source b/tests/ref/fate/force_key_frames-source
index 87a35e2d2cf..b171ed6cd0b 100644
--- a/tests/ref/fate/force_key_frames-source
+++ b/tests/ref/fate/force_key_frames-source
@@ -3,395 +3,395 @@
#codec_id 0: mpeg2video
#dimensions 0: 2x2
#sar 0: 0/1
-0, -1, 0, 1, 57, 0x7db00eb7, S=1, 8
-0, 0, 1, 1, 24, 0x4f1c0660, F=0x0, S=1, 8
-0, 1, 2, 1, 24, 0x53dc06a0, F=0x0, S=1, 8
-0, 2, 3, 1, 24, 0x589c06e0, F=0x0, S=1, 8
-0, 3, 4, 1, 24, 0x4a700621, F=0x0, S=1, 8
-0, 4, 5, 1, 24, 0x4f300661, F=0x0, S=1, 8
-0, 5, 6, 1, 24, 0x53f006a1, F=0x0, S=1, 8
-0, 6, 7, 1, 24, 0x58b006e1, F=0x0, S=1, 8
-0, 7, 8, 1, 24, 0x4a840622, F=0x0, S=1, 8
-0, 8, 9, 1, 24, 0x4f440662, F=0x0, S=1, 8
-0, 9, 10, 1, 24, 0x540406a2, F=0x0, S=1, 8
-0, 10, 11, 1, 24, 0x58c406e2, F=0x0, S=1, 8
-0, 11, 12, 1, 24, 0x4a980623, F=0x0, S=1, 8
-0, 12, 13, 1, 24, 0x4f580663, F=0x0, S=1, 8
-0, 13, 14, 1, 24, 0x541806a3, F=0x0, S=1, 8
-0, 14, 15, 1, 24, 0x58d806e3, F=0x0, S=1, 8
-0, 15, 16, 1, 24, 0x4aac0624, F=0x0, S=1, 8
-0, 16, 17, 1, 24, 0x4f6c0664, F=0x0, S=1, 8
-0, 17, 18, 1, 24, 0x542c06a4, F=0x0, S=1, 8
-0, 18, 19, 1, 24, 0x58ec06e4, F=0x0, S=1, 8
-0, 19, 20, 1, 24, 0x4ac00625, F=0x0, S=1, 8
-0, 20, 21, 1, 24, 0x4f800665, F=0x0, S=1, 8
-0, 21, 22, 1, 24, 0x544006a5, F=0x0, S=1, 8
-0, 22, 23, 1, 24, 0x590006e5, F=0x0, S=1, 8
-0, 23, 24, 1, 24, 0x4ad40626, F=0x0, S=1, 8
-0, 24, 25, 1, 24, 0x4f940666, F=0x0, S=1, 8
-0, 25, 26, 1, 24, 0x545406a6, F=0x0, S=1, 8
-0, 26, 27, 1, 24, 0x591406e6, F=0x0, S=1, 8
-0, 27, 28, 1, 24, 0x4ae80627, F=0x0, S=1, 8
-0, 28, 29, 1, 24, 0x4fa80667, F=0x0, S=1, 8
-0, 29, 30, 1, 24, 0x546806a7, F=0x0, S=1, 8
-0, 30, 31, 1, 24, 0x592806e7, F=0x0, S=1, 8
-0, 31, 32, 1, 24, 0x4afc0628, F=0x0, S=1, 8
-0, 32, 33, 1, 24, 0x4fbc0668, F=0x0, S=1, 8
-0, 33, 34, 1, 24, 0x547c06a8, F=0x0, S=1, 8
-0, 34, 35, 1, 24, 0x593c06e8, F=0x0, S=1, 8
-0, 35, 36, 1, 24, 0x4b100629, F=0x0, S=1, 8
-0, 36, 37, 1, 24, 0x4fd00669, F=0x0, S=1, 8
-0, 37, 38, 1, 24, 0x549006a9, F=0x0, S=1, 8
-0, 38, 39, 1, 24, 0x595006e9, F=0x0, S=1, 8
-0, 39, 40, 1, 24, 0x4b24062a, F=0x0, S=1, 8
-0, 40, 41, 1, 24, 0x4fe4066a, F=0x0, S=1, 8
-0, 41, 42, 1, 24, 0x54a406aa, F=0x0, S=1, 8
-0, 42, 43, 1, 24, 0x596406ea, F=0x0, S=1, 8
-0, 43, 44, 1, 24, 0x4b38062b, F=0x0, S=1, 8
-0, 44, 45, 1, 24, 0x4ff8066b, F=0x0, S=1, 8
-0, 45, 46, 1, 24, 0x54b806ab, F=0x0, S=1, 8
-0, 46, 47, 1, 24, 0x597806eb, F=0x0, S=1, 8
-0, 47, 48, 1, 24, 0x4b4c062c, F=0x0, S=1, 8
-0, 48, 49, 1, 24, 0x500c066c, F=0x0, S=1, 8
-0, 49, 50, 1, 24, 0x54cc06ac, F=0x0, S=1, 8
-0, 50, 51, 1, 24, 0x598c06ec, F=0x0, S=1, 8
-0, 51, 52, 1, 24, 0x4b60062d, F=0x0, S=1, 8
-0, 52, 53, 1, 24, 0x5020066d, F=0x0, S=1, 8
-0, 53, 54, 1, 24, 0x54e006ad, F=0x0, S=1, 8
-0, 54, 55, 1, 24, 0x59a006ed, F=0x0, S=1, 8
-0, 55, 56, 1, 24, 0x4b74062e, F=0x0, S=1, 8
-0, 56, 57, 1, 24, 0x5034066e, F=0x0, S=1, 8
-0, 57, 58, 1, 24, 0x54f406ae, F=0x0, S=1, 8
-0, 58, 59, 1, 24, 0x59b406ee, F=0x0, S=1, 8
-0, 59, 60, 1, 24, 0x4b88062f, F=0x0, S=1, 8
-0, 60, 61, 1, 24, 0x5048066f, F=0x0, S=1, 8
-0, 61, 62, 1, 24, 0x550806af, F=0x0, S=1, 8
-0, 62, 63, 1, 24, 0x59c806ef, F=0x0, S=1, 8
-0, 63, 64, 1, 24, 0x4b9c0630, F=0x0, S=1, 8
-0, 64, 65, 1, 24, 0x505c0670, F=0x0, S=1, 8
-0, 65, 66, 1, 24, 0x551c06b0, F=0x0, S=1, 8
-0, 66, 67, 1, 24, 0x59dc06f0, F=0x0, S=1, 8
-0, 67, 68, 1, 24, 0x4bb00631, F=0x0, S=1, 8
-0, 68, 69, 1, 24, 0x50700671, F=0x0, S=1, 8
-0, 69, 70, 1, 24, 0x553006b1, F=0x0, S=1, 8
-0, 70, 71, 1, 24, 0x59f006f1, F=0x0, S=1, 8
-0, 71, 72, 1, 24, 0x4bc40632, F=0x0, S=1, 8
-0, 72, 73, 1, 24, 0x50840672, F=0x0, S=1, 8
-0, 73, 74, 1, 24, 0x554406b2, F=0x0, S=1, 8
-0, 74, 75, 1, 24, 0x5a0406f2, F=0x0, S=1, 8
-0, 75, 76, 1, 24, 0x4bd80633, F=0x0, S=1, 8
-0, 76, 77, 1, 24, 0x50980673, F=0x0, S=1, 8
-0, 77, 78, 1, 24, 0x555806b3, F=0x0, S=1, 8
-0, 78, 79, 1, 24, 0x5a1806f3, F=0x0, S=1, 8
-0, 79, 80, 1, 24, 0x4bec0634, F=0x0, S=1, 8
-0, 80, 81, 1, 24, 0x50ac0674, F=0x0, S=1, 8
-0, 81, 82, 1, 24, 0x556c06b4, F=0x0, S=1, 8
-0, 82, 83, 1, 24, 0x5a2c06f4, F=0x0, S=1, 8
-0, 83, 84, 1, 24, 0x4c000635, F=0x0, S=1, 8
-0, 84, 85, 1, 24, 0x50c00675, F=0x0, S=1, 8
-0, 85, 86, 1, 24, 0x558006b5, F=0x0, S=1, 8
-0, 86, 87, 1, 24, 0x5a4006f5, F=0x0, S=1, 8
-0, 87, 88, 1, 24, 0x4c140636, F=0x0, S=1, 8
-0, 88, 89, 1, 24, 0x50d40676, F=0x0, S=1, 8
-0, 89, 90, 1, 24, 0x559406b6, F=0x0, S=1, 8
-0, 90, 91, 1, 24, 0x5a5406f6, F=0x0, S=1, 8
-0, 91, 92, 1, 24, 0x4c280637, F=0x0, S=1, 8
-0, 92, 93, 1, 24, 0x50e80677, F=0x0, S=1, 8
-0, 93, 94, 1, 24, 0x55a806b7, F=0x0, S=1, 8
-0, 94, 95, 1, 24, 0x5a6806f7, F=0x0, S=1, 8
-0, 95, 96, 1, 24, 0x4c3c0638, F=0x0, S=1, 8
-0, 96, 97, 1, 24, 0x50fc0678, F=0x0, S=1, 8
-0, 97, 98, 1, 24, 0x55bc06b8, F=0x0, S=1, 8
-0, 98, 99, 1, 24, 0x5a7c06f8, F=0x0, S=1, 8
-0, 99, 100, 1, 24, 0x4c500639, F=0x0, S=1, 8
-0, 100, 101, 1, 24, 0x51100679, F=0x0, S=1, 8
-0, 101, 102, 1, 24, 0x55d006b9, F=0x0, S=1, 8
-0, 102, 103, 1, 24, 0x5a9006f9, F=0x0, S=1, 8
-0, 103, 104, 1, 24, 0x4c64063a, F=0x0, S=1, 8
-0, 104, 105, 1, 24, 0x5124067a, F=0x0, S=1, 8
-0, 105, 106, 1, 24, 0x55e406ba, F=0x0, S=1, 8
-0, 106, 107, 1, 24, 0x5aa406fa, F=0x0, S=1, 8
-0, 107, 108, 1, 57, 0x85a40efb, S=1, 8
-0, 108, 109, 1, 24, 0x4f1c0660, F=0x0, S=1, 8
-0, 109, 110, 1, 24, 0x53dc06a0, F=0x0, S=1, 8
-0, 110, 111, 1, 24, 0x589c06e0, F=0x0, S=1, 8
-0, 111, 112, 1, 24, 0x4a700621, F=0x0, S=1, 8
-0, 112, 113, 1, 24, 0x4f300661, F=0x0, S=1, 8
-0, 113, 114, 1, 24, 0x53f006a1, F=0x0, S=1, 8
-0, 114, 115, 1, 24, 0x58b006e1, F=0x0, S=1, 8
-0, 115, 116, 1, 24, 0x4a840622, F=0x0, S=1, 8
-0, 116, 117, 1, 24, 0x4f440662, F=0x0, S=1, 8
-0, 117, 118, 1, 24, 0x540406a2, F=0x0, S=1, 8
-0, 118, 119, 1, 24, 0x58c406e2, F=0x0, S=1, 8
-0, 119, 120, 1, 24, 0x4a980623, F=0x0, S=1, 8
-0, 120, 121, 1, 24, 0x4f580663, F=0x0, S=1, 8
-0, 121, 122, 1, 24, 0x541806a3, F=0x0, S=1, 8
-0, 122, 123, 1, 24, 0x58d806e3, F=0x0, S=1, 8
-0, 123, 124, 1, 24, 0x4aac0624, F=0x0, S=1, 8
-0, 124, 125, 1, 24, 0x4f6c0664, F=0x0, S=1, 8
-0, 125, 126, 1, 24, 0x542c06a4, F=0x0, S=1, 8
-0, 126, 127, 1, 24, 0x58ec06e4, F=0x0, S=1, 8
-0, 127, 128, 1, 24, 0x4ac00625, F=0x0, S=1, 8
-0, 128, 129, 1, 24, 0x4f800665, F=0x0, S=1, 8
-0, 129, 130, 1, 24, 0x544006a5, F=0x0, S=1, 8
-0, 130, 131, 1, 24, 0x590006e5, F=0x0, S=1, 8
-0, 131, 132, 1, 24, 0x4ad40626, F=0x0, S=1, 8
-0, 132, 133, 1, 24, 0x4f940666, F=0x0, S=1, 8
-0, 133, 134, 1, 24, 0x545406a6, F=0x0, S=1, 8
-0, 134, 135, 1, 24, 0x591406e6, F=0x0, S=1, 8
-0, 135, 136, 1, 24, 0x4ae80627, F=0x0, S=1, 8
-0, 136, 137, 1, 24, 0x4fa80667, F=0x0, S=1, 8
-0, 137, 138, 1, 24, 0x546806a7, F=0x0, S=1, 8
-0, 138, 139, 1, 24, 0x592806e7, F=0x0, S=1, 8
-0, 139, 140, 1, 24, 0x4afc0628, F=0x0, S=1, 8
-0, 140, 141, 1, 24, 0x4fbc0668, F=0x0, S=1, 8
-0, 141, 142, 1, 24, 0x547c06a8, F=0x0, S=1, 8
-0, 142, 143, 1, 24, 0x593c06e8, F=0x0, S=1, 8
-0, 143, 144, 1, 24, 0x4b100629, F=0x0, S=1, 8
-0, 144, 145, 1, 24, 0x4fd00669, F=0x0, S=1, 8
-0, 145, 146, 1, 24, 0x549006a9, F=0x0, S=1, 8
-0, 146, 147, 1, 24, 0x595006e9, F=0x0, S=1, 8
-0, 147, 148, 1, 24, 0x4b24062a, F=0x0, S=1, 8
-0, 148, 149, 1, 24, 0x4fe4066a, F=0x0, S=1, 8
-0, 149, 150, 1, 24, 0x54a406aa, F=0x0, S=1, 8
-0, 150, 151, 1, 24, 0x596406ea, F=0x0, S=1, 8
-0, 151, 152, 1, 24, 0x4b38062b, F=0x0, S=1, 8
-0, 152, 153, 1, 24, 0x4ff8066b, F=0x0, S=1, 8
-0, 153, 154, 1, 24, 0x54b806ab, F=0x0, S=1, 8
-0, 154, 155, 1, 24, 0x597806eb, F=0x0, S=1, 8
-0, 155, 156, 1, 24, 0x4b4c062c, F=0x0, S=1, 8
-0, 156, 157, 1, 24, 0x500c066c, F=0x0, S=1, 8
-0, 157, 158, 1, 24, 0x54cc06ac, F=0x0, S=1, 8
-0, 158, 159, 1, 24, 0x598c06ec, F=0x0, S=1, 8
-0, 159, 160, 1, 24, 0x4b60062d, F=0x0, S=1, 8
-0, 160, 161, 1, 24, 0x5020066d, F=0x0, S=1, 8
-0, 161, 162, 1, 24, 0x54e006ad, F=0x0, S=1, 8
-0, 162, 163, 1, 24, 0x59a006ed, F=0x0, S=1, 8
-0, 163, 164, 1, 24, 0x4b74062e, F=0x0, S=1, 8
-0, 164, 165, 1, 24, 0x5034066e, F=0x0, S=1, 8
-0, 165, 166, 1, 24, 0x54f406ae, F=0x0, S=1, 8
-0, 166, 167, 1, 24, 0x59b406ee, F=0x0, S=1, 8
-0, 167, 168, 1, 24, 0x4b88062f, F=0x0, S=1, 8
-0, 168, 169, 1, 24, 0x5048066f, F=0x0, S=1, 8
-0, 169, 170, 1, 24, 0x550806af, F=0x0, S=1, 8
-0, 170, 171, 1, 24, 0x59c806ef, F=0x0, S=1, 8
-0, 171, 172, 1, 24, 0x4b9c0630, F=0x0, S=1, 8
-0, 172, 173, 1, 24, 0x505c0670, F=0x0, S=1, 8
-0, 173, 174, 1, 24, 0x551c06b0, F=0x0, S=1, 8
-0, 174, 175, 1, 24, 0x59dc06f0, F=0x0, S=1, 8
-0, 175, 176, 1, 24, 0x4bb00631, F=0x0, S=1, 8
-0, 176, 177, 1, 24, 0x50700671, F=0x0, S=1, 8
-0, 177, 178, 1, 24, 0x553006b1, F=0x0, S=1, 8
-0, 178, 179, 1, 24, 0x59f006f1, F=0x0, S=1, 8
-0, 179, 180, 1, 24, 0x4bc40632, F=0x0, S=1, 8
-0, 180, 181, 1, 24, 0x50840672, F=0x0, S=1, 8
-0, 181, 182, 1, 24, 0x554406b2, F=0x0, S=1, 8
-0, 182, 183, 1, 24, 0x5a0406f2, F=0x0, S=1, 8
-0, 183, 184, 1, 24, 0x4bd80633, F=0x0, S=1, 8
-0, 184, 185, 1, 24, 0x50980673, F=0x0, S=1, 8
-0, 185, 186, 1, 24, 0x555806b3, F=0x0, S=1, 8
-0, 186, 187, 1, 24, 0x5a1806f3, F=0x0, S=1, 8
-0, 187, 188, 1, 24, 0x4bec0634, F=0x0, S=1, 8
-0, 188, 189, 1, 24, 0x50ac0674, F=0x0, S=1, 8
-0, 189, 190, 1, 24, 0x556c06b4, F=0x0, S=1, 8
-0, 190, 191, 1, 24, 0x5a2c06f4, F=0x0, S=1, 8
-0, 191, 192, 1, 24, 0x4c000635, F=0x0, S=1, 8
-0, 192, 193, 1, 24, 0x50c00675, F=0x0, S=1, 8
-0, 193, 194, 1, 24, 0x558006b5, F=0x0, S=1, 8
-0, 194, 195, 1, 24, 0x5a4006f5, F=0x0, S=1, 8
-0, 195, 196, 1, 24, 0x4c140636, F=0x0, S=1, 8
-0, 196, 197, 1, 24, 0x50d40676, F=0x0, S=1, 8
-0, 197, 198, 1, 24, 0x559406b6, F=0x0, S=1, 8
-0, 198, 199, 1, 24, 0x5a5406f6, F=0x0, S=1, 8
-0, 199, 200, 1, 24, 0x4c280637, F=0x0, S=1, 8
-0, 200, 201, 1, 24, 0x50e80677, F=0x0, S=1, 8
-0, 201, 202, 1, 24, 0x55a806b7, F=0x0, S=1, 8
-0, 202, 203, 1, 24, 0x5a6806f7, F=0x0, S=1, 8
-0, 203, 204, 1, 24, 0x4c3c0638, F=0x0, S=1, 8
-0, 204, 205, 1, 24, 0x50fc0678, F=0x0, S=1, 8
-0, 205, 206, 1, 24, 0x55bc06b8, F=0x0, S=1, 8
-0, 206, 207, 1, 24, 0x5a7c06f8, F=0x0, S=1, 8
-0, 207, 208, 1, 24, 0x4c500639, F=0x0, S=1, 8
-0, 208, 209, 1, 24, 0x51100679, F=0x0, S=1, 8
-0, 209, 210, 1, 24, 0x55d006b9, F=0x0, S=1, 8
-0, 210, 211, 1, 24, 0x5a9006f9, F=0x0, S=1, 8
-0, 211, 212, 1, 24, 0x4c64063a, F=0x0, S=1, 8
-0, 212, 213, 1, 24, 0x5124067a, F=0x0, S=1, 8
-0, 213, 214, 1, 24, 0x55e406ba, F=0x0, S=1, 8
-0, 214, 215, 1, 24, 0x5aa406fa, F=0x0, S=1, 8
-0, 215, 216, 1, 24, 0x4c78063b, F=0x0, S=1, 8
-0, 216, 217, 1, 24, 0x5138067b, F=0x0, S=1, 8
-0, 217, 218, 1, 24, 0x55f806bb, F=0x0, S=1, 8
-0, 218, 219, 1, 24, 0x5ab806fb, F=0x0, S=1, 8
-0, 219, 220, 1, 24, 0x4c8c063c, F=0x0, S=1, 8
-0, 220, 221, 1, 24, 0x514c067c, F=0x0, S=1, 8
-0, 221, 222, 1, 24, 0x560c06bc, F=0x0, S=1, 8
-0, 222, 223, 1, 24, 0x5acc06fc, F=0x0, S=1, 8
-0, 223, 224, 1, 24, 0x4ca0063d, F=0x0, S=1, 8
-0, 224, 225, 1, 24, 0x5160067d, F=0x0, S=1, 8
-0, 225, 226, 1, 24, 0x562006bd, F=0x0, S=1, 8
-0, 226, 227, 1, 24, 0x5ae006fd, F=0x0, S=1, 8
-0, 227, 228, 1, 24, 0x4cb4063e, F=0x0, S=1, 8
-0, 228, 229, 1, 24, 0x5174067e, F=0x0, S=1, 8
-0, 229, 230, 1, 24, 0x563406be, F=0x0, S=1, 8
-0, 230, 231, 1, 24, 0x5af406fe, F=0x0, S=1, 8
-0, 231, 232, 1, 24, 0x4cc8063f, F=0x0, S=1, 8
-0, 232, 233, 1, 24, 0x5188067f, F=0x0, S=1, 8
-0, 233, 234, 1, 24, 0x564806bf, F=0x0, S=1, 8
-0, 234, 235, 1, 24, 0x5b0806ff, F=0x0, S=1, 8
-0, 235, 236, 1, 24, 0x4cdc0640, F=0x0, S=1, 8
-0, 236, 237, 1, 24, 0x519c0680, F=0x0, S=1, 8
-0, 237, 238, 1, 24, 0x565c06c0, F=0x0, S=1, 8
-0, 238, 239, 1, 24, 0x5b1c0700, F=0x0, S=1, 8
-0, 239, 240, 1, 24, 0x4cf00641, F=0x0, S=1, 8
-0, 240, 241, 1, 24, 0x51b00681, F=0x0, S=1, 8
-0, 241, 242, 1, 24, 0x567006c1, F=0x0, S=1, 8
-0, 242, 243, 1, 24, 0x5b300701, F=0x0, S=1, 8
-0, 243, 244, 1, 24, 0x4d040642, F=0x0, S=1, 8
-0, 244, 245, 1, 24, 0x51c40682, F=0x0, S=1, 8
-0, 245, 246, 1, 24, 0x568406c2, F=0x0, S=1, 8
-0, 246, 247, 1, 24, 0x5b440702, F=0x0, S=1, 8
-0, 247, 248, 1, 24, 0x4d180643, F=0x0, S=1, 8
-0, 248, 249, 1, 24, 0x51d80683, F=0x0, S=1, 8
-0, 249, 250, 1, 24, 0x569806c3, F=0x0, S=1, 8
-0, 250, 251, 1, 24, 0x5b580703, F=0x0, S=1, 8
-0, 251, 252, 1, 24, 0x4d2c0644, F=0x0, S=1, 8
-0, 252, 253, 1, 24, 0x51ec0684, F=0x0, S=1, 8
-0, 253, 254, 1, 24, 0x56ac06c4, F=0x0, S=1, 8
-0, 254, 255, 1, 24, 0x5b6c0704, F=0x0, S=1, 8
-0, 255, 256, 1, 24, 0x4d400645, F=0x0, S=1, 8
-0, 256, 257, 1, 24, 0x52000685, F=0x0, S=1, 8
-0, 257, 258, 1, 24, 0x56c006c5, F=0x0, S=1, 8
-0, 258, 259, 1, 24, 0x5b800705, F=0x0, S=1, 8
-0, 259, 260, 1, 24, 0x4d540646, F=0x0, S=1, 8
-0, 260, 261, 1, 24, 0x52140686, F=0x0, S=1, 8
-0, 261, 262, 1, 24, 0x56d406c6, F=0x0, S=1, 8
-0, 262, 263, 1, 24, 0x5b940706, F=0x0, S=1, 8
-0, 263, 264, 1, 24, 0x4d680647, F=0x0, S=1, 8
-0, 264, 265, 1, 24, 0x52280687, F=0x0, S=1, 8
-0, 265, 266, 1, 24, 0x56e806c7, F=0x0, S=1, 8
-0, 266, 267, 1, 24, 0x5ba80707, F=0x0, S=1, 8
-0, 267, 268, 1, 24, 0x4d7c0648, F=0x0, S=1, 8
-0, 268, 269, 1, 24, 0x523c0688, F=0x0, S=1, 8
-0, 269, 270, 1, 24, 0x56fc06c8, F=0x0, S=1, 8
-0, 270, 271, 1, 24, 0x5bbc0708, F=0x0, S=1, 8
-0, 271, 272, 1, 24, 0x4d900649, F=0x0, S=1, 8
-0, 272, 273, 1, 24, 0x52500689, F=0x0, S=1, 8
-0, 273, 274, 1, 24, 0x571006c9, F=0x0, S=1, 8
-0, 274, 275, 1, 24, 0x5bd00709, F=0x0, S=1, 8
-0, 275, 276, 1, 24, 0x4da4064a, F=0x0, S=1, 8
-0, 276, 277, 1, 24, 0x5264068a, F=0x0, S=1, 8
-0, 277, 278, 1, 24, 0x572406ca, F=0x0, S=1, 8
-0, 278, 279, 1, 24, 0x5be4070a, F=0x0, S=1, 8
-0, 279, 280, 1, 24, 0x4db8064b, F=0x0, S=1, 8
-0, 280, 281, 1, 24, 0x5278068b, F=0x0, S=1, 8
-0, 281, 282, 1, 24, 0x573806cb, F=0x0, S=1, 8
-0, 282, 283, 1, 24, 0x5bf8070b, F=0x0, S=1, 8
-0, 283, 284, 1, 24, 0x4dcc064c, F=0x0, S=1, 8
-0, 284, 285, 1, 24, 0x528c068c, F=0x0, S=1, 8
-0, 285, 286, 1, 24, 0x574c06cc, F=0x0, S=1, 8
-0, 286, 287, 1, 24, 0x5c0c070c, F=0x0, S=1, 8
-0, 287, 288, 1, 24, 0x4de0064d, F=0x0, S=1, 8
-0, 288, 289, 1, 24, 0x52a0068d, F=0x0, S=1, 8
-0, 289, 290, 1, 24, 0x576006cd, F=0x0, S=1, 8
-0, 290, 291, 1, 24, 0x5c20070d, F=0x0, S=1, 8
-0, 291, 292, 1, 24, 0x4df4064e, F=0x0, S=1, 8
-0, 292, 293, 1, 24, 0x52b4068e, F=0x0, S=1, 8
-0, 293, 294, 1, 24, 0x577406ce, F=0x0, S=1, 8
-0, 294, 295, 1, 24, 0x5c34070e, F=0x0, S=1, 8
-0, 295, 296, 1, 24, 0x4e08064f, F=0x0, S=1, 8
-0, 296, 297, 1, 24, 0x52c8068f, F=0x0, S=1, 8
-0, 297, 298, 1, 24, 0x578806cf, F=0x0, S=1, 8
-0, 298, 299, 1, 24, 0x5c48070f, F=0x0, S=1, 8
-0, 299, 300, 1, 24, 0x4e1c0650, F=0x0, S=1, 8
-0, 300, 301, 1, 24, 0x52dc0690, F=0x0, S=1, 8
-0, 301, 302, 1, 24, 0x579c06d0, F=0x0, S=1, 8
-0, 302, 303, 1, 24, 0x5c5c0710, F=0x0, S=1, 8
-0, 303, 304, 1, 24, 0x4e300651, F=0x0, S=1, 8
-0, 304, 305, 1, 24, 0x52f00691, F=0x0, S=1, 8
-0, 305, 306, 1, 24, 0x57b006d1, F=0x0, S=1, 8
-0, 306, 307, 1, 24, 0x5c700711, F=0x0, S=1, 8
-0, 307, 308, 1, 24, 0x4e440652, F=0x0, S=1, 8
-0, 308, 309, 1, 24, 0x53040692, F=0x0, S=1, 8
-0, 309, 310, 1, 24, 0x57c406d2, F=0x0, S=1, 8
-0, 310, 311, 1, 24, 0x5c840712, F=0x0, S=1, 8
-0, 311, 312, 1, 24, 0x4e580653, F=0x0, S=1, 8
-0, 312, 313, 1, 24, 0x53180693, F=0x0, S=1, 8
-0, 313, 314, 1, 24, 0x57d806d3, F=0x0, S=1, 8
-0, 314, 315, 1, 24, 0x5c980713, F=0x0, S=1, 8
-0, 315, 316, 1, 24, 0x4e6c0654, F=0x0, S=1, 8
-0, 316, 317, 1, 24, 0x532c0694, F=0x0, S=1, 8
-0, 317, 318, 1, 24, 0x57ec06d4, F=0x0, S=1, 8
-0, 318, 319, 1, 24, 0x5cac0714, F=0x0, S=1, 8
-0, 319, 320, 1, 24, 0x4e800655, F=0x0, S=1, 8
-0, 320, 321, 1, 24, 0x53400695, F=0x0, S=1, 8
-0, 321, 322, 1, 24, 0x580006d5, F=0x0, S=1, 8
-0, 322, 323, 1, 24, 0x5cc00715, F=0x0, S=1, 8
-0, 323, 324, 1, 24, 0x4e940656, F=0x0, S=1, 8
-0, 324, 325, 1, 24, 0x53540696, F=0x0, S=1, 8
-0, 325, 326, 1, 24, 0x581406d6, F=0x0, S=1, 8
-0, 326, 327, 1, 24, 0x5cd40716, F=0x0, S=1, 8
-0, 327, 328, 1, 24, 0x4ea80657, F=0x0, S=1, 8
-0, 328, 329, 1, 24, 0x53680697, F=0x0, S=1, 8
-0, 329, 330, 1, 24, 0x582806d7, F=0x0, S=1, 8
-0, 330, 331, 1, 24, 0x5ce80717, F=0x0, S=1, 8
-0, 331, 332, 1, 24, 0x4ebc0658, F=0x0, S=1, 8
-0, 332, 333, 1, 24, 0x537c0698, F=0x0, S=1, 8
-0, 333, 334, 1, 24, 0x583c06d8, F=0x0, S=1, 8
-0, 334, 335, 1, 24, 0x5cfc0718, F=0x0, S=1, 8
-0, 335, 336, 1, 24, 0x4ed00659, F=0x0, S=1, 8
-0, 336, 337, 1, 57, 0x899c0f1e, S=1, 8
-0, 337, 338, 1, 24, 0x4f1c0660, F=0x0, S=1, 8
-0, 338, 339, 1, 24, 0x53dc06a0, F=0x0, S=1, 8
-0, 339, 340, 1, 24, 0x589c06e0, F=0x0, S=1, 8
-0, 340, 341, 1, 24, 0x4a700621, F=0x0, S=1, 8
-0, 341, 342, 1, 24, 0x4f300661, F=0x0, S=1, 8
-0, 342, 343, 1, 24, 0x53f006a1, F=0x0, S=1, 8
-0, 343, 344, 1, 24, 0x58b006e1, F=0x0, S=1, 8
-0, 344, 345, 1, 24, 0x4a840622, F=0x0, S=1, 8
-0, 345, 346, 1, 24, 0x4f440662, F=0x0, S=1, 8
-0, 346, 347, 1, 24, 0x540406a2, F=0x0, S=1, 8
-0, 347, 348, 1, 24, 0x58c406e2, F=0x0, S=1, 8
-0, 348, 349, 1, 24, 0x4a980623, F=0x0, S=1, 8
-0, 349, 350, 1, 24, 0x4f580663, F=0x0, S=1, 8
-0, 350, 351, 1, 24, 0x541806a3, F=0x0, S=1, 8
-0, 351, 352, 1, 24, 0x58d806e3, F=0x0, S=1, 8
-0, 352, 353, 1, 24, 0x4aac0624, F=0x0, S=1, 8
-0, 353, 354, 1, 24, 0x4f6c0664, F=0x0, S=1, 8
-0, 354, 355, 1, 24, 0x542c06a4, F=0x0, S=1, 8
-0, 355, 356, 1, 24, 0x58ec06e4, F=0x0, S=1, 8
-0, 356, 357, 1, 24, 0x4ac00625, F=0x0, S=1, 8
-0, 357, 358, 1, 24, 0x4f800665, F=0x0, S=1, 8
-0, 358, 359, 1, 24, 0x544006a5, F=0x0, S=1, 8
-0, 359, 360, 1, 24, 0x590006e5, F=0x0, S=1, 8
-0, 360, 361, 1, 24, 0x4ad40626, F=0x0, S=1, 8
-0, 361, 362, 1, 24, 0x4f940666, F=0x0, S=1, 8
-0, 362, 363, 1, 24, 0x545406a6, F=0x0, S=1, 8
-0, 363, 364, 1, 24, 0x591406e6, F=0x0, S=1, 8
-0, 364, 365, 1, 24, 0x4ae80627, F=0x0, S=1, 8
-0, 365, 366, 1, 24, 0x4fa80667, F=0x0, S=1, 8
-0, 366, 367, 1, 24, 0x546806a7, F=0x0, S=1, 8
-0, 367, 368, 1, 24, 0x592806e7, F=0x0, S=1, 8
-0, 368, 369, 1, 57, 0x9b930fc1, S=1, 8
-0, 369, 370, 1, 24, 0x4f1c0660, F=0x0, S=1, 8
-0, 370, 371, 1, 24, 0x53dc06a0, F=0x0, S=1, 8
-0, 371, 372, 1, 24, 0x589c06e0, F=0x0, S=1, 8
-0, 372, 373, 1, 24, 0x4a700621, F=0x0, S=1, 8
-0, 373, 374, 1, 24, 0x4f300661, F=0x0, S=1, 8
-0, 374, 375, 1, 24, 0x53f006a1, F=0x0, S=1, 8
-0, 375, 376, 1, 24, 0x58b006e1, F=0x0, S=1, 8
-0, 376, 377, 1, 24, 0x4a840622, F=0x0, S=1, 8
-0, 377, 378, 1, 24, 0x4f440662, F=0x0, S=1, 8
-0, 378, 379, 1, 24, 0x540406a2, F=0x0, S=1, 8
-0, 379, 380, 1, 24, 0x58c406e2, F=0x0, S=1, 8
-0, 380, 381, 1, 24, 0x4a980623, F=0x0, S=1, 8
-0, 381, 382, 1, 24, 0x4f580663, F=0x0, S=1, 8
-0, 382, 383, 1, 24, 0x541806a3, F=0x0, S=1, 8
-0, 383, 384, 1, 24, 0x58d806e3, F=0x0, S=1, 8
-0, 384, 385, 1, 24, 0x4aac0624, F=0x0, S=1, 8
-0, 385, 386, 1, 24, 0x4f6c0664, F=0x0, S=1, 8
-0, 386, 387, 1, 24, 0x542c06a4, F=0x0, S=1, 8
-0, 387, 388, 1, 24, 0x58ec06e4, F=0x0, S=1, 8
-0, 388, 389, 1, 24, 0x4ac00625, F=0x0, S=1, 8
-0, 389, 390, 1, 24, 0x4f800665, F=0x0, S=1, 8
-0, 390, 391, 1, 24, 0x544006a5, F=0x0, S=1, 8
+0, -1, 0, 1, 57, 0x7db00eb7, S=1, Quality stats, 8, 0x05ec00be
+0, 0, 1, 1, 24, 0x4f1c0660, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 1, 2, 1, 24, 0x53dc06a0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 2, 3, 1, 24, 0x589c06e0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 3, 4, 1, 24, 0x4a700621, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 4, 5, 1, 24, 0x4f300661, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 5, 6, 1, 24, 0x53f006a1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 6, 7, 1, 24, 0x58b006e1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 7, 8, 1, 24, 0x4a840622, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 8, 9, 1, 24, 0x4f440662, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 9, 10, 1, 24, 0x540406a2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 10, 11, 1, 24, 0x58c406e2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 11, 12, 1, 24, 0x4a980623, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 12, 13, 1, 24, 0x4f580663, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 13, 14, 1, 24, 0x541806a3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 14, 15, 1, 24, 0x58d806e3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 15, 16, 1, 24, 0x4aac0624, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 16, 17, 1, 24, 0x4f6c0664, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 17, 18, 1, 24, 0x542c06a4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 18, 19, 1, 24, 0x58ec06e4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 19, 20, 1, 24, 0x4ac00625, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 20, 21, 1, 24, 0x4f800665, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 21, 22, 1, 24, 0x544006a5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 22, 23, 1, 24, 0x590006e5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 23, 24, 1, 24, 0x4ad40626, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 24, 25, 1, 24, 0x4f940666, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 25, 26, 1, 24, 0x545406a6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 26, 27, 1, 24, 0x591406e6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 27, 28, 1, 24, 0x4ae80627, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 28, 29, 1, 24, 0x4fa80667, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 29, 30, 1, 24, 0x546806a7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 30, 31, 1, 24, 0x592806e7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 31, 32, 1, 24, 0x4afc0628, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 32, 33, 1, 24, 0x4fbc0668, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 33, 34, 1, 24, 0x547c06a8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 34, 35, 1, 24, 0x593c06e8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 35, 36, 1, 24, 0x4b100629, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 36, 37, 1, 24, 0x4fd00669, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 37, 38, 1, 24, 0x549006a9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 38, 39, 1, 24, 0x595006e9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 39, 40, 1, 24, 0x4b24062a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 40, 41, 1, 24, 0x4fe4066a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 41, 42, 1, 24, 0x54a406aa, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 42, 43, 1, 24, 0x596406ea, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 43, 44, 1, 24, 0x4b38062b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 44, 45, 1, 24, 0x4ff8066b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 45, 46, 1, 24, 0x54b806ab, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 46, 47, 1, 24, 0x597806eb, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 47, 48, 1, 24, 0x4b4c062c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 48, 49, 1, 24, 0x500c066c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 49, 50, 1, 24, 0x54cc06ac, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 50, 51, 1, 24, 0x598c06ec, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 51, 52, 1, 24, 0x4b60062d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 52, 53, 1, 24, 0x5020066d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 53, 54, 1, 24, 0x54e006ad, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 54, 55, 1, 24, 0x59a006ed, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 55, 56, 1, 24, 0x4b74062e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 56, 57, 1, 24, 0x5034066e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 57, 58, 1, 24, 0x54f406ae, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 58, 59, 1, 24, 0x59b406ee, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 59, 60, 1, 24, 0x4b88062f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 60, 61, 1, 24, 0x5048066f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 61, 62, 1, 24, 0x550806af, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 62, 63, 1, 24, 0x59c806ef, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 63, 64, 1, 24, 0x4b9c0630, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 64, 65, 1, 24, 0x505c0670, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 65, 66, 1, 24, 0x551c06b0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 66, 67, 1, 24, 0x59dc06f0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 67, 68, 1, 24, 0x4bb00631, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 68, 69, 1, 24, 0x50700671, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 69, 70, 1, 24, 0x553006b1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 70, 71, 1, 24, 0x59f006f1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 71, 72, 1, 24, 0x4bc40632, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 72, 73, 1, 24, 0x50840672, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 73, 74, 1, 24, 0x554406b2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 74, 75, 1, 24, 0x5a0406f2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 75, 76, 1, 24, 0x4bd80633, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 76, 77, 1, 24, 0x50980673, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 77, 78, 1, 24, 0x555806b3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 78, 79, 1, 24, 0x5a1806f3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 79, 80, 1, 24, 0x4bec0634, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 80, 81, 1, 24, 0x50ac0674, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 81, 82, 1, 24, 0x556c06b4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 82, 83, 1, 24, 0x5a2c06f4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 83, 84, 1, 24, 0x4c000635, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 84, 85, 1, 24, 0x50c00675, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 85, 86, 1, 24, 0x558006b5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 86, 87, 1, 24, 0x5a4006f5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 87, 88, 1, 24, 0x4c140636, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 88, 89, 1, 24, 0x50d40676, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 89, 90, 1, 24, 0x559406b6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 90, 91, 1, 24, 0x5a5406f6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 91, 92, 1, 24, 0x4c280637, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 92, 93, 1, 24, 0x50e80677, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 93, 94, 1, 24, 0x55a806b7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 94, 95, 1, 24, 0x5a6806f7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 95, 96, 1, 24, 0x4c3c0638, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 96, 97, 1, 24, 0x50fc0678, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 97, 98, 1, 24, 0x55bc06b8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 98, 99, 1, 24, 0x5a7c06f8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 99, 100, 1, 24, 0x4c500639, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 100, 101, 1, 24, 0x51100679, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 101, 102, 1, 24, 0x55d006b9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 102, 103, 1, 24, 0x5a9006f9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 103, 104, 1, 24, 0x4c64063a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 104, 105, 1, 24, 0x5124067a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 105, 106, 1, 24, 0x55e406ba, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 106, 107, 1, 24, 0x5aa406fa, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 107, 108, 1, 57, 0x85a40efb, S=1, Quality stats, 8, 0x05ec00be
+0, 108, 109, 1, 24, 0x4f1c0660, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 109, 110, 1, 24, 0x53dc06a0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 110, 111, 1, 24, 0x589c06e0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 111, 112, 1, 24, 0x4a700621, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 112, 113, 1, 24, 0x4f300661, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 113, 114, 1, 24, 0x53f006a1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 114, 115, 1, 24, 0x58b006e1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 115, 116, 1, 24, 0x4a840622, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 116, 117, 1, 24, 0x4f440662, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 117, 118, 1, 24, 0x540406a2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 118, 119, 1, 24, 0x58c406e2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 119, 120, 1, 24, 0x4a980623, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 120, 121, 1, 24, 0x4f580663, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 121, 122, 1, 24, 0x541806a3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 122, 123, 1, 24, 0x58d806e3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 123, 124, 1, 24, 0x4aac0624, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 124, 125, 1, 24, 0x4f6c0664, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 125, 126, 1, 24, 0x542c06a4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 126, 127, 1, 24, 0x58ec06e4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 127, 128, 1, 24, 0x4ac00625, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 128, 129, 1, 24, 0x4f800665, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 129, 130, 1, 24, 0x544006a5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 130, 131, 1, 24, 0x590006e5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 131, 132, 1, 24, 0x4ad40626, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 132, 133, 1, 24, 0x4f940666, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 133, 134, 1, 24, 0x545406a6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 134, 135, 1, 24, 0x591406e6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 135, 136, 1, 24, 0x4ae80627, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 136, 137, 1, 24, 0x4fa80667, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 137, 138, 1, 24, 0x546806a7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 138, 139, 1, 24, 0x592806e7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 139, 140, 1, 24, 0x4afc0628, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 140, 141, 1, 24, 0x4fbc0668, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 141, 142, 1, 24, 0x547c06a8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 142, 143, 1, 24, 0x593c06e8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 143, 144, 1, 24, 0x4b100629, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 144, 145, 1, 24, 0x4fd00669, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 145, 146, 1, 24, 0x549006a9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 146, 147, 1, 24, 0x595006e9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 147, 148, 1, 24, 0x4b24062a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 148, 149, 1, 24, 0x4fe4066a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 149, 150, 1, 24, 0x54a406aa, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 150, 151, 1, 24, 0x596406ea, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 151, 152, 1, 24, 0x4b38062b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 152, 153, 1, 24, 0x4ff8066b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 153, 154, 1, 24, 0x54b806ab, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 154, 155, 1, 24, 0x597806eb, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 155, 156, 1, 24, 0x4b4c062c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 156, 157, 1, 24, 0x500c066c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 157, 158, 1, 24, 0x54cc06ac, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 158, 159, 1, 24, 0x598c06ec, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 159, 160, 1, 24, 0x4b60062d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 160, 161, 1, 24, 0x5020066d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 161, 162, 1, 24, 0x54e006ad, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 162, 163, 1, 24, 0x59a006ed, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 163, 164, 1, 24, 0x4b74062e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 164, 165, 1, 24, 0x5034066e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 165, 166, 1, 24, 0x54f406ae, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 166, 167, 1, 24, 0x59b406ee, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 167, 168, 1, 24, 0x4b88062f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 168, 169, 1, 24, 0x5048066f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 169, 170, 1, 24, 0x550806af, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 170, 171, 1, 24, 0x59c806ef, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 171, 172, 1, 24, 0x4b9c0630, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 172, 173, 1, 24, 0x505c0670, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 173, 174, 1, 24, 0x551c06b0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 174, 175, 1, 24, 0x59dc06f0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 175, 176, 1, 24, 0x4bb00631, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 176, 177, 1, 24, 0x50700671, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 177, 178, 1, 24, 0x553006b1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 178, 179, 1, 24, 0x59f006f1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 179, 180, 1, 24, 0x4bc40632, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 180, 181, 1, 24, 0x50840672, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 181, 182, 1, 24, 0x554406b2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 182, 183, 1, 24, 0x5a0406f2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 183, 184, 1, 24, 0x4bd80633, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 184, 185, 1, 24, 0x50980673, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 185, 186, 1, 24, 0x555806b3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 186, 187, 1, 24, 0x5a1806f3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 187, 188, 1, 24, 0x4bec0634, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 188, 189, 1, 24, 0x50ac0674, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 189, 190, 1, 24, 0x556c06b4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 190, 191, 1, 24, 0x5a2c06f4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 191, 192, 1, 24, 0x4c000635, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 192, 193, 1, 24, 0x50c00675, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 193, 194, 1, 24, 0x558006b5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 194, 195, 1, 24, 0x5a4006f5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 195, 196, 1, 24, 0x4c140636, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 196, 197, 1, 24, 0x50d40676, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 197, 198, 1, 24, 0x559406b6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 198, 199, 1, 24, 0x5a5406f6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 199, 200, 1, 24, 0x4c280637, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 200, 201, 1, 24, 0x50e80677, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 201, 202, 1, 24, 0x55a806b7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 202, 203, 1, 24, 0x5a6806f7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 203, 204, 1, 24, 0x4c3c0638, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 204, 205, 1, 24, 0x50fc0678, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 205, 206, 1, 24, 0x55bc06b8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 206, 207, 1, 24, 0x5a7c06f8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 207, 208, 1, 24, 0x4c500639, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 208, 209, 1, 24, 0x51100679, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 209, 210, 1, 24, 0x55d006b9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 210, 211, 1, 24, 0x5a9006f9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 211, 212, 1, 24, 0x4c64063a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 212, 213, 1, 24, 0x5124067a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 213, 214, 1, 24, 0x55e406ba, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 214, 215, 1, 24, 0x5aa406fa, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 215, 216, 1, 24, 0x4c78063b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 216, 217, 1, 24, 0x5138067b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 217, 218, 1, 24, 0x55f806bb, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 218, 219, 1, 24, 0x5ab806fb, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 219, 220, 1, 24, 0x4c8c063c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 220, 221, 1, 24, 0x514c067c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 221, 222, 1, 24, 0x560c06bc, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 222, 223, 1, 24, 0x5acc06fc, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 223, 224, 1, 24, 0x4ca0063d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 224, 225, 1, 24, 0x5160067d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 225, 226, 1, 24, 0x562006bd, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 226, 227, 1, 24, 0x5ae006fd, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 227, 228, 1, 24, 0x4cb4063e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 228, 229, 1, 24, 0x5174067e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 229, 230, 1, 24, 0x563406be, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 230, 231, 1, 24, 0x5af406fe, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 231, 232, 1, 24, 0x4cc8063f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 232, 233, 1, 24, 0x5188067f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 233, 234, 1, 24, 0x564806bf, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 234, 235, 1, 24, 0x5b0806ff, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 235, 236, 1, 24, 0x4cdc0640, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 236, 237, 1, 24, 0x519c0680, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 237, 238, 1, 24, 0x565c06c0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 238, 239, 1, 24, 0x5b1c0700, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 239, 240, 1, 24, 0x4cf00641, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 240, 241, 1, 24, 0x51b00681, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 241, 242, 1, 24, 0x567006c1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 242, 243, 1, 24, 0x5b300701, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 243, 244, 1, 24, 0x4d040642, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 244, 245, 1, 24, 0x51c40682, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 245, 246, 1, 24, 0x568406c2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 246, 247, 1, 24, 0x5b440702, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 247, 248, 1, 24, 0x4d180643, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 248, 249, 1, 24, 0x51d80683, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 249, 250, 1, 24, 0x569806c3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 250, 251, 1, 24, 0x5b580703, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 251, 252, 1, 24, 0x4d2c0644, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 252, 253, 1, 24, 0x51ec0684, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 253, 254, 1, 24, 0x56ac06c4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 254, 255, 1, 24, 0x5b6c0704, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 255, 256, 1, 24, 0x4d400645, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 256, 257, 1, 24, 0x52000685, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 257, 258, 1, 24, 0x56c006c5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 258, 259, 1, 24, 0x5b800705, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 259, 260, 1, 24, 0x4d540646, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 260, 261, 1, 24, 0x52140686, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 261, 262, 1, 24, 0x56d406c6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 262, 263, 1, 24, 0x5b940706, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 263, 264, 1, 24, 0x4d680647, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 264, 265, 1, 24, 0x52280687, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 265, 266, 1, 24, 0x56e806c7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 266, 267, 1, 24, 0x5ba80707, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 267, 268, 1, 24, 0x4d7c0648, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 268, 269, 1, 24, 0x523c0688, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 269, 270, 1, 24, 0x56fc06c8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 270, 271, 1, 24, 0x5bbc0708, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 271, 272, 1, 24, 0x4d900649, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 272, 273, 1, 24, 0x52500689, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 273, 274, 1, 24, 0x571006c9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 274, 275, 1, 24, 0x5bd00709, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 275, 276, 1, 24, 0x4da4064a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 276, 277, 1, 24, 0x5264068a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 277, 278, 1, 24, 0x572406ca, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 278, 279, 1, 24, 0x5be4070a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 279, 280, 1, 24, 0x4db8064b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 280, 281, 1, 24, 0x5278068b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 281, 282, 1, 24, 0x573806cb, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 282, 283, 1, 24, 0x5bf8070b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 283, 284, 1, 24, 0x4dcc064c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 284, 285, 1, 24, 0x528c068c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 285, 286, 1, 24, 0x574c06cc, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 286, 287, 1, 24, 0x5c0c070c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 287, 288, 1, 24, 0x4de0064d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 288, 289, 1, 24, 0x52a0068d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 289, 290, 1, 24, 0x576006cd, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 290, 291, 1, 24, 0x5c20070d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 291, 292, 1, 24, 0x4df4064e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 292, 293, 1, 24, 0x52b4068e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 293, 294, 1, 24, 0x577406ce, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 294, 295, 1, 24, 0x5c34070e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 295, 296, 1, 24, 0x4e08064f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 296, 297, 1, 24, 0x52c8068f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 297, 298, 1, 24, 0x578806cf, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 298, 299, 1, 24, 0x5c48070f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 299, 300, 1, 24, 0x4e1c0650, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 300, 301, 1, 24, 0x52dc0690, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 301, 302, 1, 24, 0x579c06d0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 302, 303, 1, 24, 0x5c5c0710, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 303, 304, 1, 24, 0x4e300651, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 304, 305, 1, 24, 0x52f00691, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 305, 306, 1, 24, 0x57b006d1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 306, 307, 1, 24, 0x5c700711, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 307, 308, 1, 24, 0x4e440652, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 308, 309, 1, 24, 0x53040692, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 309, 310, 1, 24, 0x57c406d2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 310, 311, 1, 24, 0x5c840712, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 311, 312, 1, 24, 0x4e580653, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 312, 313, 1, 24, 0x53180693, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 313, 314, 1, 24, 0x57d806d3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 314, 315, 1, 24, 0x5c980713, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 315, 316, 1, 24, 0x4e6c0654, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 316, 317, 1, 24, 0x532c0694, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 317, 318, 1, 24, 0x57ec06d4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 318, 319, 1, 24, 0x5cac0714, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 319, 320, 1, 24, 0x4e800655, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 320, 321, 1, 24, 0x53400695, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 321, 322, 1, 24, 0x580006d5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 322, 323, 1, 24, 0x5cc00715, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 323, 324, 1, 24, 0x4e940656, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 324, 325, 1, 24, 0x53540696, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 325, 326, 1, 24, 0x581406d6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 326, 327, 1, 24, 0x5cd40716, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 327, 328, 1, 24, 0x4ea80657, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 328, 329, 1, 24, 0x53680697, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 329, 330, 1, 24, 0x582806d7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 330, 331, 1, 24, 0x5ce80717, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 331, 332, 1, 24, 0x4ebc0658, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 332, 333, 1, 24, 0x537c0698, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 333, 334, 1, 24, 0x583c06d8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 334, 335, 1, 24, 0x5cfc0718, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 335, 336, 1, 24, 0x4ed00659, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 336, 337, 1, 57, 0x899c0f1e, S=1, Quality stats, 8, 0x05ec00be
+0, 337, 338, 1, 24, 0x4f1c0660, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 338, 339, 1, 24, 0x53dc06a0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 339, 340, 1, 24, 0x589c06e0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 340, 341, 1, 24, 0x4a700621, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 341, 342, 1, 24, 0x4f300661, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 342, 343, 1, 24, 0x53f006a1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 343, 344, 1, 24, 0x58b006e1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 344, 345, 1, 24, 0x4a840622, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 345, 346, 1, 24, 0x4f440662, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 346, 347, 1, 24, 0x540406a2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 347, 348, 1, 24, 0x58c406e2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 348, 349, 1, 24, 0x4a980623, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 349, 350, 1, 24, 0x4f580663, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 350, 351, 1, 24, 0x541806a3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 351, 352, 1, 24, 0x58d806e3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 352, 353, 1, 24, 0x4aac0624, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 353, 354, 1, 24, 0x4f6c0664, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 354, 355, 1, 24, 0x542c06a4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 355, 356, 1, 24, 0x58ec06e4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 356, 357, 1, 24, 0x4ac00625, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 357, 358, 1, 24, 0x4f800665, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 358, 359, 1, 24, 0x544006a5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 359, 360, 1, 24, 0x590006e5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 360, 361, 1, 24, 0x4ad40626, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 361, 362, 1, 24, 0x4f940666, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 362, 363, 1, 24, 0x545406a6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 363, 364, 1, 24, 0x591406e6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 364, 365, 1, 24, 0x4ae80627, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 365, 366, 1, 24, 0x4fa80667, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 366, 367, 1, 24, 0x546806a7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 367, 368, 1, 24, 0x592806e7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 368, 369, 1, 57, 0x9b930fc1, S=1, Quality stats, 8, 0x05ec00be
+0, 369, 370, 1, 24, 0x4f1c0660, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 370, 371, 1, 24, 0x53dc06a0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 371, 372, 1, 24, 0x589c06e0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 372, 373, 1, 24, 0x4a700621, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 373, 374, 1, 24, 0x4f300661, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 374, 375, 1, 24, 0x53f006a1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 375, 376, 1, 24, 0x58b006e1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 376, 377, 1, 24, 0x4a840622, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 377, 378, 1, 24, 0x4f440662, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 378, 379, 1, 24, 0x540406a2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 379, 380, 1, 24, 0x58c406e2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 380, 381, 1, 24, 0x4a980623, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 381, 382, 1, 24, 0x4f580663, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 382, 383, 1, 24, 0x541806a3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 383, 384, 1, 24, 0x58d806e3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 384, 385, 1, 24, 0x4aac0624, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 385, 386, 1, 24, 0x4f6c0664, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 386, 387, 1, 24, 0x542c06a4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 387, 388, 1, 24, 0x58ec06e4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 388, 389, 1, 24, 0x4ac00625, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 389, 390, 1, 24, 0x4f800665, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 390, 391, 1, 24, 0x544006a5, F=0x0, S=1, Quality stats, 8, 0x076800ee
diff --git a/tests/ref/fate/force_key_frames-source-drop b/tests/ref/fate/force_key_frames-source-drop
index 220c0f0f889..df2ab88398e 100644
--- a/tests/ref/fate/force_key_frames-source-drop
+++ b/tests/ref/fate/force_key_frames-source-drop
@@ -3,20 +3,20 @@
#codec_id 0: mpeg2video
#dimensions 0: 2x2
#sar 0: 0/1
-0, -1, 0, 1, 57, 0x80ba0ecd, S=1, 8
-0, 0, 1, 1, 24, 0x4f1c0660, F=0x0, S=1, 8
-0, 1, 2, 1, 24, 0x53dc06a0, F=0x0, S=1, 8
-0, 2, 3, 1, 24, 0x589c06e0, F=0x0, S=1, 8
-0, 3, 4, 1, 24, 0x4a700621, F=0x0, S=1, 8
-0, 4, 5, 1, 24, 0x4f300661, F=0x0, S=1, 8
-0, 5, 6, 1, 57, 0x7a110e90, S=1, 8
-0, 6, 7, 1, 24, 0x4f1c0660, F=0x0, S=1, 8
-0, 7, 8, 1, 24, 0x53dc06a0, F=0x0, S=1, 8
-0, 8, 9, 1, 24, 0x589c06e0, F=0x0, S=1, 8
-0, 9, 10, 1, 24, 0x4a700621, F=0x0, S=1, 8
-0, 10, 11, 1, 24, 0x4f300661, F=0x0, S=1, 8
-0, 11, 12, 1, 24, 0x53f006a1, F=0x0, S=1, 8
-0, 12, 13, 1, 24, 0x58b006e1, F=0x0, S=1, 8
-0, 13, 14, 1, 24, 0x4a840622, F=0x0, S=1, 8
-0, 14, 15, 1, 57, 0x88850f14, S=1, 8
-0, 15, 16, 1, 57, 0x7aa20e95, S=1, 8
+0, -1, 0, 1, 57, 0x80ba0ecd, S=1, Quality stats, 8, 0x05ec00be
+0, 0, 1, 1, 24, 0x4f1c0660, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 1, 2, 1, 24, 0x53dc06a0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 2, 3, 1, 24, 0x589c06e0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 3, 4, 1, 24, 0x4a700621, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 4, 5, 1, 24, 0x4f300661, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 5, 6, 1, 57, 0x7a110e90, S=1, Quality stats, 8, 0x05ec00be
+0, 6, 7, 1, 24, 0x4f1c0660, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 7, 8, 1, 24, 0x53dc06a0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 8, 9, 1, 24, 0x589c06e0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 9, 10, 1, 24, 0x4a700621, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 10, 11, 1, 24, 0x4f300661, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 11, 12, 1, 24, 0x53f006a1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 12, 13, 1, 24, 0x58b006e1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 13, 14, 1, 24, 0x4a840622, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 14, 15, 1, 57, 0x88850f14, S=1, Quality stats, 8, 0x05ec00be
+0, 15, 16, 1, 57, 0x7aa20e95, S=1, Quality stats, 8, 0x05ec00be
diff --git a/tests/ref/fate/force_key_frames-source-dup b/tests/ref/fate/force_key_frames-source-dup
index 46fffc21f92..49d57a48dbf 100644
--- a/tests/ref/fate/force_key_frames-source-dup
+++ b/tests/ref/fate/force_key_frames-source-dup
@@ -3,615 +3,615 @@
#codec_id 0: mpeg2video
#dimensions 0: 2x2
#sar 0: 0/1
-0, -1, 0, 1, 57, 0x8baa0f1a, S=1, 8
-0, 0, 1, 1, 24, 0x4f1c0660, F=0x0, S=1, 8
-0, 1, 2, 1, 24, 0x53dc06a0, F=0x0, S=1, 8
-0, 2, 3, 1, 24, 0x589c06e0, F=0x0, S=1, 8
-0, 3, 4, 1, 24, 0x4a700621, F=0x0, S=1, 8
-0, 4, 5, 1, 24, 0x4f300661, F=0x0, S=1, 8
-0, 5, 6, 1, 24, 0x53f006a1, F=0x0, S=1, 8
-0, 6, 7, 1, 24, 0x58b006e1, F=0x0, S=1, 8
-0, 7, 8, 1, 24, 0x4a840622, F=0x0, S=1, 8
-0, 8, 9, 1, 24, 0x4f440662, F=0x0, S=1, 8
-0, 9, 10, 1, 24, 0x540406a2, F=0x0, S=1, 8
-0, 10, 11, 1, 24, 0x58c406e2, F=0x0, S=1, 8
-0, 11, 12, 1, 24, 0x4a980623, F=0x0, S=1, 8
-0, 12, 13, 1, 24, 0x4f580663, F=0x0, S=1, 8
-0, 13, 14, 1, 24, 0x541806a3, F=0x0, S=1, 8
-0, 14, 15, 1, 24, 0x58d806e3, F=0x0, S=1, 8
-0, 15, 16, 1, 24, 0x4aac0624, F=0x0, S=1, 8
-0, 16, 17, 1, 24, 0x4f6c0664, F=0x0, S=1, 8
-0, 17, 18, 1, 24, 0x542c06a4, F=0x0, S=1, 8
-0, 18, 19, 1, 24, 0x58ec06e4, F=0x0, S=1, 8
-0, 19, 20, 1, 24, 0x4ac00625, F=0x0, S=1, 8
-0, 20, 21, 1, 24, 0x4f800665, F=0x0, S=1, 8
-0, 21, 22, 1, 24, 0x544006a5, F=0x0, S=1, 8
-0, 22, 23, 1, 24, 0x590006e5, F=0x0, S=1, 8
-0, 23, 24, 1, 24, 0x4ad40626, F=0x0, S=1, 8
-0, 24, 25, 1, 24, 0x4f940666, F=0x0, S=1, 8
-0, 25, 26, 1, 24, 0x545406a6, F=0x0, S=1, 8
-0, 26, 27, 1, 24, 0x591406e6, F=0x0, S=1, 8
-0, 27, 28, 1, 24, 0x4ae80627, F=0x0, S=1, 8
-0, 28, 29, 1, 24, 0x4fa80667, F=0x0, S=1, 8
-0, 29, 30, 1, 24, 0x546806a7, F=0x0, S=1, 8
-0, 30, 31, 1, 24, 0x592806e7, F=0x0, S=1, 8
-0, 31, 32, 1, 24, 0x4afc0628, F=0x0, S=1, 8
-0, 32, 33, 1, 24, 0x4fbc0668, F=0x0, S=1, 8
-0, 33, 34, 1, 24, 0x547c06a8, F=0x0, S=1, 8
-0, 34, 35, 1, 24, 0x593c06e8, F=0x0, S=1, 8
-0, 35, 36, 1, 24, 0x4b100629, F=0x0, S=1, 8
-0, 36, 37, 1, 24, 0x4fd00669, F=0x0, S=1, 8
-0, 37, 38, 1, 24, 0x549006a9, F=0x0, S=1, 8
-0, 38, 39, 1, 24, 0x595006e9, F=0x0, S=1, 8
-0, 39, 40, 1, 24, 0x4b24062a, F=0x0, S=1, 8
-0, 40, 41, 1, 24, 0x4fe4066a, F=0x0, S=1, 8
-0, 41, 42, 1, 24, 0x54a406aa, F=0x0, S=1, 8
-0, 42, 43, 1, 24, 0x596406ea, F=0x0, S=1, 8
-0, 43, 44, 1, 24, 0x4b38062b, F=0x0, S=1, 8
-0, 44, 45, 1, 24, 0x4ff8066b, F=0x0, S=1, 8
-0, 45, 46, 1, 24, 0x54b806ab, F=0x0, S=1, 8
-0, 46, 47, 1, 24, 0x597806eb, F=0x0, S=1, 8
-0, 47, 48, 1, 24, 0x4b4c062c, F=0x0, S=1, 8
-0, 48, 49, 1, 24, 0x500c066c, F=0x0, S=1, 8
-0, 49, 50, 1, 24, 0x54cc06ac, F=0x0, S=1, 8
-0, 50, 51, 1, 24, 0x598c06ec, F=0x0, S=1, 8
-0, 51, 52, 1, 24, 0x4b60062d, F=0x0, S=1, 8
-0, 52, 53, 1, 24, 0x5020066d, F=0x0, S=1, 8
-0, 53, 54, 1, 24, 0x54e006ad, F=0x0, S=1, 8
-0, 54, 55, 1, 24, 0x59a006ed, F=0x0, S=1, 8
-0, 55, 56, 1, 24, 0x4b74062e, F=0x0, S=1, 8
-0, 56, 57, 1, 24, 0x5034066e, F=0x0, S=1, 8
-0, 57, 58, 1, 24, 0x54f406ae, F=0x0, S=1, 8
-0, 58, 59, 1, 24, 0x59b406ee, F=0x0, S=1, 8
-0, 59, 60, 1, 24, 0x4b88062f, F=0x0, S=1, 8
-0, 60, 61, 1, 24, 0x5048066f, F=0x0, S=1, 8
-0, 61, 62, 1, 24, 0x550806af, F=0x0, S=1, 8
-0, 62, 63, 1, 24, 0x59c806ef, F=0x0, S=1, 8
-0, 63, 64, 1, 24, 0x4b9c0630, F=0x0, S=1, 8
-0, 64, 65, 1, 24, 0x505c0670, F=0x0, S=1, 8
-0, 65, 66, 1, 24, 0x551c06b0, F=0x0, S=1, 8
-0, 66, 67, 1, 24, 0x59dc06f0, F=0x0, S=1, 8
-0, 67, 68, 1, 24, 0x4bb00631, F=0x0, S=1, 8
-0, 68, 69, 1, 24, 0x50700671, F=0x0, S=1, 8
-0, 69, 70, 1, 24, 0x553006b1, F=0x0, S=1, 8
-0, 70, 71, 1, 24, 0x59f006f1, F=0x0, S=1, 8
-0, 71, 72, 1, 24, 0x4bc40632, F=0x0, S=1, 8
-0, 72, 73, 1, 24, 0x50840672, F=0x0, S=1, 8
-0, 73, 74, 1, 24, 0x554406b2, F=0x0, S=1, 8
-0, 74, 75, 1, 24, 0x5a0406f2, F=0x0, S=1, 8
-0, 75, 76, 1, 24, 0x4bd80633, F=0x0, S=1, 8
-0, 76, 77, 1, 24, 0x50980673, F=0x0, S=1, 8
-0, 77, 78, 1, 24, 0x555806b3, F=0x0, S=1, 8
-0, 78, 79, 1, 24, 0x5a1806f3, F=0x0, S=1, 8
-0, 79, 80, 1, 24, 0x4bec0634, F=0x0, S=1, 8
-0, 80, 81, 1, 24, 0x50ac0674, F=0x0, S=1, 8
-0, 81, 82, 1, 24, 0x556c06b4, F=0x0, S=1, 8
-0, 82, 83, 1, 24, 0x5a2c06f4, F=0x0, S=1, 8
-0, 83, 84, 1, 24, 0x4c000635, F=0x0, S=1, 8
-0, 84, 85, 1, 24, 0x50c00675, F=0x0, S=1, 8
-0, 85, 86, 1, 24, 0x558006b5, F=0x0, S=1, 8
-0, 86, 87, 1, 24, 0x5a4006f5, F=0x0, S=1, 8
-0, 87, 88, 1, 24, 0x4c140636, F=0x0, S=1, 8
-0, 88, 89, 1, 24, 0x50d40676, F=0x0, S=1, 8
-0, 89, 90, 1, 24, 0x559406b6, F=0x0, S=1, 8
-0, 90, 91, 1, 24, 0x5a5406f6, F=0x0, S=1, 8
-0, 91, 92, 1, 24, 0x4c280637, F=0x0, S=1, 8
-0, 92, 93, 1, 24, 0x50e80677, F=0x0, S=1, 8
-0, 93, 94, 1, 24, 0x55a806b7, F=0x0, S=1, 8
-0, 94, 95, 1, 24, 0x5a6806f7, F=0x0, S=1, 8
-0, 95, 96, 1, 24, 0x4c3c0638, F=0x0, S=1, 8
-0, 96, 97, 1, 24, 0x50fc0678, F=0x0, S=1, 8
-0, 97, 98, 1, 24, 0x55bc06b8, F=0x0, S=1, 8
-0, 98, 99, 1, 24, 0x5a7c06f8, F=0x0, S=1, 8
-0, 99, 100, 1, 24, 0x4c500639, F=0x0, S=1, 8
-0, 100, 101, 1, 24, 0x51100679, F=0x0, S=1, 8
-0, 101, 102, 1, 24, 0x55d006b9, F=0x0, S=1, 8
-0, 102, 103, 1, 24, 0x5a9006f9, F=0x0, S=1, 8
-0, 103, 104, 1, 24, 0x4c64063a, F=0x0, S=1, 8
-0, 104, 105, 1, 24, 0x5124067a, F=0x0, S=1, 8
-0, 105, 106, 1, 24, 0x55e406ba, F=0x0, S=1, 8
-0, 106, 107, 1, 24, 0x5aa406fa, F=0x0, S=1, 8
-0, 107, 108, 1, 24, 0x4c78063b, F=0x0, S=1, 8
-0, 108, 109, 1, 24, 0x5138067b, F=0x0, S=1, 8
-0, 109, 110, 1, 24, 0x55f806bb, F=0x0, S=1, 8
-0, 110, 111, 1, 24, 0x5ab806fb, F=0x0, S=1, 8
-0, 111, 112, 1, 24, 0x4c8c063c, F=0x0, S=1, 8
-0, 112, 113, 1, 24, 0x514c067c, F=0x0, S=1, 8
-0, 113, 114, 1, 24, 0x560c06bc, F=0x0, S=1, 8
-0, 114, 115, 1, 24, 0x5acc06fc, F=0x0, S=1, 8
-0, 115, 116, 1, 24, 0x4ca0063d, F=0x0, S=1, 8
-0, 116, 117, 1, 24, 0x5160067d, F=0x0, S=1, 8
-0, 117, 118, 1, 24, 0x562006bd, F=0x0, S=1, 8
-0, 118, 119, 1, 24, 0x5ae006fd, F=0x0, S=1, 8
-0, 119, 120, 1, 24, 0x4cb4063e, F=0x0, S=1, 8
-0, 120, 121, 1, 24, 0x5174067e, F=0x0, S=1, 8
-0, 121, 122, 1, 24, 0x563406be, F=0x0, S=1, 8
-0, 122, 123, 1, 24, 0x5af406fe, F=0x0, S=1, 8
-0, 123, 124, 1, 24, 0x4cc8063f, F=0x0, S=1, 8
-0, 124, 125, 1, 24, 0x5188067f, F=0x0, S=1, 8
-0, 125, 126, 1, 24, 0x564806bf, F=0x0, S=1, 8
-0, 126, 127, 1, 24, 0x5b0806ff, F=0x0, S=1, 8
-0, 127, 128, 1, 24, 0x4cdc0640, F=0x0, S=1, 8
-0, 128, 129, 1, 24, 0x519c0680, F=0x0, S=1, 8
-0, 129, 130, 1, 24, 0x565c06c0, F=0x0, S=1, 8
-0, 130, 131, 1, 24, 0x5b1c0700, F=0x0, S=1, 8
-0, 131, 132, 1, 24, 0x4cf00641, F=0x0, S=1, 8
-0, 132, 133, 1, 24, 0x51b00681, F=0x0, S=1, 8
-0, 133, 134, 1, 24, 0x567006c1, F=0x0, S=1, 8
-0, 134, 135, 1, 24, 0x5b300701, F=0x0, S=1, 8
-0, 135, 136, 1, 24, 0x4d040642, F=0x0, S=1, 8
-0, 136, 137, 1, 24, 0x51c40682, F=0x0, S=1, 8
-0, 137, 138, 1, 24, 0x568406c2, F=0x0, S=1, 8
-0, 138, 139, 1, 24, 0x5b440702, F=0x0, S=1, 8
-0, 139, 140, 1, 24, 0x4d180643, F=0x0, S=1, 8
-0, 140, 141, 1, 24, 0x51d80683, F=0x0, S=1, 8
-0, 141, 142, 1, 24, 0x569806c3, F=0x0, S=1, 8
-0, 142, 143, 1, 24, 0x5b580703, F=0x0, S=1, 8
-0, 143, 144, 1, 24, 0x4d2c0644, F=0x0, S=1, 8
-0, 144, 145, 1, 24, 0x51ec0684, F=0x0, S=1, 8
-0, 145, 146, 1, 24, 0x56ac06c4, F=0x0, S=1, 8
-0, 146, 147, 1, 24, 0x5b6c0704, F=0x0, S=1, 8
-0, 147, 148, 1, 24, 0x4d400645, F=0x0, S=1, 8
-0, 148, 149, 1, 24, 0x52000685, F=0x0, S=1, 8
-0, 149, 150, 1, 24, 0x56c006c5, F=0x0, S=1, 8
-0, 150, 151, 1, 24, 0x5b800705, F=0x0, S=1, 8
-0, 151, 152, 1, 24, 0x4d540646, F=0x0, S=1, 8
-0, 152, 153, 1, 24, 0x52140686, F=0x0, S=1, 8
-0, 153, 154, 1, 24, 0x56d406c6, F=0x0, S=1, 8
-0, 154, 155, 1, 24, 0x5b940706, F=0x0, S=1, 8
-0, 155, 156, 1, 24, 0x4d680647, F=0x0, S=1, 8
-0, 156, 157, 1, 24, 0x52280687, F=0x0, S=1, 8
-0, 157, 158, 1, 24, 0x56e806c7, F=0x0, S=1, 8
-0, 158, 159, 1, 24, 0x5ba80707, F=0x0, S=1, 8
-0, 159, 160, 1, 24, 0x4d7c0648, F=0x0, S=1, 8
-0, 160, 161, 1, 24, 0x523c0688, F=0x0, S=1, 8
-0, 161, 162, 1, 24, 0x56fc06c8, F=0x0, S=1, 8
-0, 162, 163, 1, 24, 0x5bbc0708, F=0x0, S=1, 8
-0, 163, 164, 1, 24, 0x4d900649, F=0x0, S=1, 8
-0, 164, 165, 1, 24, 0x52500689, F=0x0, S=1, 8
-0, 165, 166, 1, 24, 0x571006c9, F=0x0, S=1, 8
-0, 166, 167, 1, 24, 0x5bd00709, F=0x0, S=1, 8
-0, 167, 168, 1, 57, 0x97cf0f83, S=1, 8
-0, 168, 169, 1, 24, 0x4f1c0660, F=0x0, S=1, 8
-0, 169, 170, 1, 24, 0x53dc06a0, F=0x0, S=1, 8
-0, 170, 171, 1, 24, 0x589c06e0, F=0x0, S=1, 8
-0, 171, 172, 1, 24, 0x4a700621, F=0x0, S=1, 8
-0, 172, 173, 1, 24, 0x4f300661, F=0x0, S=1, 8
-0, 173, 174, 1, 24, 0x53f006a1, F=0x0, S=1, 8
-0, 174, 175, 1, 24, 0x58b006e1, F=0x0, S=1, 8
-0, 175, 176, 1, 24, 0x4a840622, F=0x0, S=1, 8
-0, 176, 177, 1, 24, 0x4f440662, F=0x0, S=1, 8
-0, 177, 178, 1, 24, 0x540406a2, F=0x0, S=1, 8
-0, 178, 179, 1, 24, 0x58c406e2, F=0x0, S=1, 8
-0, 179, 180, 1, 24, 0x4a980623, F=0x0, S=1, 8
-0, 180, 181, 1, 24, 0x4f580663, F=0x0, S=1, 8
-0, 181, 182, 1, 24, 0x541806a3, F=0x0, S=1, 8
-0, 182, 183, 1, 24, 0x58d806e3, F=0x0, S=1, 8
-0, 183, 184, 1, 24, 0x4aac0624, F=0x0, S=1, 8
-0, 184, 185, 1, 24, 0x4f6c0664, F=0x0, S=1, 8
-0, 185, 186, 1, 24, 0x542c06a4, F=0x0, S=1, 8
-0, 186, 187, 1, 24, 0x58ec06e4, F=0x0, S=1, 8
-0, 187, 188, 1, 24, 0x4ac00625, F=0x0, S=1, 8
-0, 188, 189, 1, 24, 0x4f800665, F=0x0, S=1, 8
-0, 189, 190, 1, 24, 0x544006a5, F=0x0, S=1, 8
-0, 190, 191, 1, 24, 0x590006e5, F=0x0, S=1, 8
-0, 191, 192, 1, 24, 0x4ad40626, F=0x0, S=1, 8
-0, 192, 193, 1, 24, 0x4f940666, F=0x0, S=1, 8
-0, 193, 194, 1, 24, 0x545406a6, F=0x0, S=1, 8
-0, 194, 195, 1, 24, 0x591406e6, F=0x0, S=1, 8
-0, 195, 196, 1, 24, 0x4ae80627, F=0x0, S=1, 8
-0, 196, 197, 1, 24, 0x4fa80667, F=0x0, S=1, 8
-0, 197, 198, 1, 24, 0x546806a7, F=0x0, S=1, 8
-0, 198, 199, 1, 24, 0x592806e7, F=0x0, S=1, 8
-0, 199, 200, 1, 24, 0x4afc0628, F=0x0, S=1, 8
-0, 200, 201, 1, 24, 0x4fbc0668, F=0x0, S=1, 8
-0, 201, 202, 1, 24, 0x547c06a8, F=0x0, S=1, 8
-0, 202, 203, 1, 24, 0x593c06e8, F=0x0, S=1, 8
-0, 203, 204, 1, 24, 0x4b100629, F=0x0, S=1, 8
-0, 204, 205, 1, 24, 0x4fd00669, F=0x0, S=1, 8
-0, 205, 206, 1, 24, 0x549006a9, F=0x0, S=1, 8
-0, 206, 207, 1, 24, 0x595006e9, F=0x0, S=1, 8
-0, 207, 208, 1, 24, 0x4b24062a, F=0x0, S=1, 8
-0, 208, 209, 1, 24, 0x4fe4066a, F=0x0, S=1, 8
-0, 209, 210, 1, 24, 0x54a406aa, F=0x0, S=1, 8
-0, 210, 211, 1, 24, 0x596406ea, F=0x0, S=1, 8
-0, 211, 212, 1, 24, 0x4b38062b, F=0x0, S=1, 8
-0, 212, 213, 1, 24, 0x4ff8066b, F=0x0, S=1, 8
-0, 213, 214, 1, 24, 0x54b806ab, F=0x0, S=1, 8
-0, 214, 215, 1, 24, 0x597806eb, F=0x0, S=1, 8
-0, 215, 216, 1, 24, 0x4b4c062c, F=0x0, S=1, 8
-0, 216, 217, 1, 24, 0x500c066c, F=0x0, S=1, 8
-0, 217, 218, 1, 24, 0x54cc06ac, F=0x0, S=1, 8
-0, 218, 219, 1, 24, 0x598c06ec, F=0x0, S=1, 8
-0, 219, 220, 1, 24, 0x4b60062d, F=0x0, S=1, 8
-0, 220, 221, 1, 24, 0x5020066d, F=0x0, S=1, 8
-0, 221, 222, 1, 24, 0x54e006ad, F=0x0, S=1, 8
-0, 222, 223, 1, 24, 0x59a006ed, F=0x0, S=1, 8
-0, 223, 224, 1, 24, 0x4b74062e, F=0x0, S=1, 8
-0, 224, 225, 1, 24, 0x5034066e, F=0x0, S=1, 8
-0, 225, 226, 1, 24, 0x54f406ae, F=0x0, S=1, 8
-0, 226, 227, 1, 24, 0x59b406ee, F=0x0, S=1, 8
-0, 227, 228, 1, 24, 0x4b88062f, F=0x0, S=1, 8
-0, 228, 229, 1, 24, 0x5048066f, F=0x0, S=1, 8
-0, 229, 230, 1, 24, 0x550806af, F=0x0, S=1, 8
-0, 230, 231, 1, 24, 0x59c806ef, F=0x0, S=1, 8
-0, 231, 232, 1, 24, 0x4b9c0630, F=0x0, S=1, 8
-0, 232, 233, 1, 24, 0x505c0670, F=0x0, S=1, 8
-0, 233, 234, 1, 24, 0x551c06b0, F=0x0, S=1, 8
-0, 234, 235, 1, 24, 0x59dc06f0, F=0x0, S=1, 8
-0, 235, 236, 1, 24, 0x4bb00631, F=0x0, S=1, 8
-0, 236, 237, 1, 24, 0x50700671, F=0x0, S=1, 8
-0, 237, 238, 1, 24, 0x553006b1, F=0x0, S=1, 8
-0, 238, 239, 1, 24, 0x59f006f1, F=0x0, S=1, 8
-0, 239, 240, 1, 24, 0x4bc40632, F=0x0, S=1, 8
-0, 240, 241, 1, 24, 0x50840672, F=0x0, S=1, 8
-0, 241, 242, 1, 24, 0x554406b2, F=0x0, S=1, 8
-0, 242, 243, 1, 24, 0x5a0406f2, F=0x0, S=1, 8
-0, 243, 244, 1, 24, 0x4bd80633, F=0x0, S=1, 8
-0, 244, 245, 1, 24, 0x50980673, F=0x0, S=1, 8
-0, 245, 246, 1, 24, 0x555806b3, F=0x0, S=1, 8
-0, 246, 247, 1, 24, 0x5a1806f3, F=0x0, S=1, 8
-0, 247, 248, 1, 24, 0x4bec0634, F=0x0, S=1, 8
-0, 248, 249, 1, 24, 0x50ac0674, F=0x0, S=1, 8
-0, 249, 250, 1, 24, 0x556c06b4, F=0x0, S=1, 8
-0, 250, 251, 1, 24, 0x5a2c06f4, F=0x0, S=1, 8
-0, 251, 252, 1, 24, 0x4c000635, F=0x0, S=1, 8
-0, 252, 253, 1, 24, 0x50c00675, F=0x0, S=1, 8
-0, 253, 254, 1, 24, 0x558006b5, F=0x0, S=1, 8
-0, 254, 255, 1, 24, 0x5a4006f5, F=0x0, S=1, 8
-0, 255, 256, 1, 24, 0x4c140636, F=0x0, S=1, 8
-0, 256, 257, 1, 24, 0x50d40676, F=0x0, S=1, 8
-0, 257, 258, 1, 24, 0x559406b6, F=0x0, S=1, 8
-0, 258, 259, 1, 24, 0x5a5406f6, F=0x0, S=1, 8
-0, 259, 260, 1, 24, 0x4c280637, F=0x0, S=1, 8
-0, 260, 261, 1, 24, 0x50e80677, F=0x0, S=1, 8
-0, 261, 262, 1, 24, 0x55a806b7, F=0x0, S=1, 8
-0, 262, 263, 1, 24, 0x5a6806f7, F=0x0, S=1, 8
-0, 263, 264, 1, 24, 0x4c3c0638, F=0x0, S=1, 8
-0, 264, 265, 1, 24, 0x50fc0678, F=0x0, S=1, 8
-0, 265, 266, 1, 24, 0x55bc06b8, F=0x0, S=1, 8
-0, 266, 267, 1, 24, 0x5a7c06f8, F=0x0, S=1, 8
-0, 267, 268, 1, 24, 0x4c500639, F=0x0, S=1, 8
-0, 268, 269, 1, 24, 0x51100679, F=0x0, S=1, 8
-0, 269, 270, 1, 24, 0x55d006b9, F=0x0, S=1, 8
-0, 270, 271, 1, 24, 0x5a9006f9, F=0x0, S=1, 8
-0, 271, 272, 1, 24, 0x4c64063a, F=0x0, S=1, 8
-0, 272, 273, 1, 24, 0x5124067a, F=0x0, S=1, 8
-0, 273, 274, 1, 24, 0x55e406ba, F=0x0, S=1, 8
-0, 274, 275, 1, 24, 0x5aa406fa, F=0x0, S=1, 8
-0, 275, 276, 1, 24, 0x4c78063b, F=0x0, S=1, 8
-0, 276, 277, 1, 24, 0x5138067b, F=0x0, S=1, 8
-0, 277, 278, 1, 24, 0x55f806bb, F=0x0, S=1, 8
-0, 278, 279, 1, 24, 0x5ab806fb, F=0x0, S=1, 8
-0, 279, 280, 1, 24, 0x4c8c063c, F=0x0, S=1, 8
-0, 280, 281, 1, 24, 0x514c067c, F=0x0, S=1, 8
-0, 281, 282, 1, 24, 0x560c06bc, F=0x0, S=1, 8
-0, 282, 283, 1, 24, 0x5acc06fc, F=0x0, S=1, 8
-0, 283, 284, 1, 24, 0x4ca0063d, F=0x0, S=1, 8
-0, 284, 285, 1, 24, 0x5160067d, F=0x0, S=1, 8
-0, 285, 286, 1, 24, 0x562006bd, F=0x0, S=1, 8
-0, 286, 287, 1, 24, 0x5ae006fd, F=0x0, S=1, 8
-0, 287, 288, 1, 24, 0x4cb4063e, F=0x0, S=1, 8
-0, 288, 289, 1, 24, 0x5174067e, F=0x0, S=1, 8
-0, 289, 290, 1, 24, 0x563406be, F=0x0, S=1, 8
-0, 290, 291, 1, 24, 0x5af406fe, F=0x0, S=1, 8
-0, 291, 292, 1, 24, 0x4cc8063f, F=0x0, S=1, 8
-0, 292, 293, 1, 24, 0x5188067f, F=0x0, S=1, 8
-0, 293, 294, 1, 24, 0x564806bf, F=0x0, S=1, 8
-0, 294, 295, 1, 24, 0x5b0806ff, F=0x0, S=1, 8
-0, 295, 296, 1, 24, 0x4cdc0640, F=0x0, S=1, 8
-0, 296, 297, 1, 24, 0x519c0680, F=0x0, S=1, 8
-0, 297, 298, 1, 24, 0x565c06c0, F=0x0, S=1, 8
-0, 298, 299, 1, 24, 0x5b1c0700, F=0x0, S=1, 8
-0, 299, 300, 1, 24, 0x4cf00641, F=0x0, S=1, 8
-0, 300, 301, 1, 24, 0x51b00681, F=0x0, S=1, 8
-0, 301, 302, 1, 24, 0x567006c1, F=0x0, S=1, 8
-0, 302, 303, 1, 24, 0x5b300701, F=0x0, S=1, 8
-0, 303, 304, 1, 24, 0x4d040642, F=0x0, S=1, 8
-0, 304, 305, 1, 24, 0x51c40682, F=0x0, S=1, 8
-0, 305, 306, 1, 24, 0x568406c2, F=0x0, S=1, 8
-0, 306, 307, 1, 24, 0x5b440702, F=0x0, S=1, 8
-0, 307, 308, 1, 24, 0x4d180643, F=0x0, S=1, 8
-0, 308, 309, 1, 24, 0x51d80683, F=0x0, S=1, 8
-0, 309, 310, 1, 24, 0x569806c3, F=0x0, S=1, 8
-0, 310, 311, 1, 24, 0x5b580703, F=0x0, S=1, 8
-0, 311, 312, 1, 24, 0x4d2c0644, F=0x0, S=1, 8
-0, 312, 313, 1, 24, 0x51ec0684, F=0x0, S=1, 8
-0, 313, 314, 1, 24, 0x56ac06c4, F=0x0, S=1, 8
-0, 314, 315, 1, 24, 0x5b6c0704, F=0x0, S=1, 8
-0, 315, 316, 1, 24, 0x4d400645, F=0x0, S=1, 8
-0, 316, 317, 1, 24, 0x52000685, F=0x0, S=1, 8
-0, 317, 318, 1, 24, 0x56c006c5, F=0x0, S=1, 8
-0, 318, 319, 1, 24, 0x5b800705, F=0x0, S=1, 8
-0, 319, 320, 1, 24, 0x4d540646, F=0x0, S=1, 8
-0, 320, 321, 1, 24, 0x52140686, F=0x0, S=1, 8
-0, 321, 322, 1, 24, 0x56d406c6, F=0x0, S=1, 8
-0, 322, 323, 1, 24, 0x5b940706, F=0x0, S=1, 8
-0, 323, 324, 1, 24, 0x4d680647, F=0x0, S=1, 8
-0, 324, 325, 1, 24, 0x52280687, F=0x0, S=1, 8
-0, 325, 326, 1, 24, 0x56e806c7, F=0x0, S=1, 8
-0, 326, 327, 1, 24, 0x5ba80707, F=0x0, S=1, 8
-0, 327, 328, 1, 24, 0x4d7c0648, F=0x0, S=1, 8
-0, 328, 329, 1, 24, 0x523c0688, F=0x0, S=1, 8
-0, 329, 330, 1, 24, 0x56fc06c8, F=0x0, S=1, 8
-0, 330, 331, 1, 24, 0x5bbc0708, F=0x0, S=1, 8
-0, 331, 332, 1, 24, 0x4d900649, F=0x0, S=1, 8
-0, 332, 333, 1, 24, 0x52500689, F=0x0, S=1, 8
-0, 333, 334, 1, 24, 0x571006c9, F=0x0, S=1, 8
-0, 334, 335, 1, 24, 0x5bd00709, F=0x0, S=1, 8
-0, 335, 336, 1, 24, 0x4da4064a, F=0x0, S=1, 8
-0, 336, 337, 1, 24, 0x5264068a, F=0x0, S=1, 8
-0, 337, 338, 1, 24, 0x572406ca, F=0x0, S=1, 8
-0, 338, 339, 1, 24, 0x5be4070a, F=0x0, S=1, 8
-0, 339, 340, 1, 24, 0x4db8064b, F=0x0, S=1, 8
-0, 340, 341, 1, 24, 0x5278068b, F=0x0, S=1, 8
-0, 341, 342, 1, 24, 0x573806cb, F=0x0, S=1, 8
-0, 342, 343, 1, 24, 0x5bf8070b, F=0x0, S=1, 8
-0, 343, 344, 1, 24, 0x4dcc064c, F=0x0, S=1, 8
-0, 344, 345, 1, 24, 0x528c068c, F=0x0, S=1, 8
-0, 345, 346, 1, 24, 0x574c06cc, F=0x0, S=1, 8
-0, 346, 347, 1, 24, 0x5c0c070c, F=0x0, S=1, 8
-0, 347, 348, 1, 24, 0x4de0064d, F=0x0, S=1, 8
-0, 348, 349, 1, 24, 0x52a0068d, F=0x0, S=1, 8
-0, 349, 350, 1, 24, 0x576006cd, F=0x0, S=1, 8
-0, 350, 351, 1, 24, 0x5c20070d, F=0x0, S=1, 8
-0, 351, 352, 1, 24, 0x4df4064e, F=0x0, S=1, 8
-0, 352, 353, 1, 24, 0x52b4068e, F=0x0, S=1, 8
-0, 353, 354, 1, 24, 0x577406ce, F=0x0, S=1, 8
-0, 354, 355, 1, 24, 0x5c34070e, F=0x0, S=1, 8
-0, 355, 356, 1, 24, 0x4e08064f, F=0x0, S=1, 8
-0, 356, 357, 1, 24, 0x52c8068f, F=0x0, S=1, 8
-0, 357, 358, 1, 24, 0x578806cf, F=0x0, S=1, 8
-0, 358, 359, 1, 24, 0x5c48070f, F=0x0, S=1, 8
-0, 359, 360, 1, 24, 0x4e1c0650, F=0x0, S=1, 8
-0, 360, 361, 1, 24, 0x52dc0690, F=0x0, S=1, 8
-0, 361, 362, 1, 24, 0x579c06d0, F=0x0, S=1, 8
-0, 362, 363, 1, 24, 0x5c5c0710, F=0x0, S=1, 8
-0, 363, 364, 1, 24, 0x4e300651, F=0x0, S=1, 8
-0, 364, 365, 1, 24, 0x52f00691, F=0x0, S=1, 8
-0, 365, 366, 1, 24, 0x57b006d1, F=0x0, S=1, 8
-0, 366, 367, 1, 24, 0x5c700711, F=0x0, S=1, 8
-0, 367, 368, 1, 24, 0x4e440652, F=0x0, S=1, 8
-0, 368, 369, 1, 24, 0x53040692, F=0x0, S=1, 8
-0, 369, 370, 1, 24, 0x57c406d2, F=0x0, S=1, 8
-0, 370, 371, 1, 24, 0x5c840712, F=0x0, S=1, 8
-0, 371, 372, 1, 24, 0x4e580653, F=0x0, S=1, 8
-0, 372, 373, 1, 24, 0x53180693, F=0x0, S=1, 8
-0, 373, 374, 1, 24, 0x57d806d3, F=0x0, S=1, 8
-0, 374, 375, 1, 24, 0x5c980713, F=0x0, S=1, 8
-0, 375, 376, 1, 24, 0x4e6c0654, F=0x0, S=1, 8
-0, 376, 377, 1, 24, 0x532c0694, F=0x0, S=1, 8
-0, 377, 378, 1, 24, 0x57ec06d4, F=0x0, S=1, 8
-0, 378, 379, 1, 24, 0x5cac0714, F=0x0, S=1, 8
-0, 379, 380, 1, 24, 0x4e800655, F=0x0, S=1, 8
-0, 380, 381, 1, 24, 0x53400695, F=0x0, S=1, 8
-0, 381, 382, 1, 24, 0x580006d5, F=0x0, S=1, 8
-0, 382, 383, 1, 24, 0x5cc00715, F=0x0, S=1, 8
-0, 383, 384, 1, 24, 0x4e940656, F=0x0, S=1, 8
-0, 384, 385, 1, 24, 0x53540696, F=0x0, S=1, 8
-0, 385, 386, 1, 24, 0x581406d6, F=0x0, S=1, 8
-0, 386, 387, 1, 24, 0x5cd40716, F=0x0, S=1, 8
-0, 387, 388, 1, 24, 0x4ea80657, F=0x0, S=1, 8
-0, 388, 389, 1, 24, 0x53680697, F=0x0, S=1, 8
-0, 389, 390, 1, 24, 0x582806d7, F=0x0, S=1, 8
-0, 390, 391, 1, 24, 0x5ce80717, F=0x0, S=1, 8
-0, 391, 392, 1, 24, 0x4ebc0658, F=0x0, S=1, 8
-0, 392, 393, 1, 24, 0x537c0698, F=0x0, S=1, 8
-0, 393, 394, 1, 24, 0x583c06d8, F=0x0, S=1, 8
-0, 394, 395, 1, 24, 0x5cfc0718, F=0x0, S=1, 8
-0, 395, 396, 1, 24, 0x4ed00659, F=0x0, S=1, 8
-0, 396, 397, 1, 24, 0x53900699, F=0x0, S=1, 8
-0, 397, 398, 1, 24, 0x585006d9, F=0x0, S=1, 8
-0, 398, 399, 1, 24, 0x5d100719, F=0x0, S=1, 8
-0, 399, 400, 1, 24, 0x4ee4065a, F=0x0, S=1, 8
-0, 400, 401, 1, 24, 0x53a4069a, F=0x0, S=1, 8
-0, 401, 402, 1, 24, 0x586406da, F=0x0, S=1, 8
-0, 402, 403, 1, 24, 0x5d24071a, F=0x0, S=1, 8
-0, 403, 404, 1, 24, 0x4ef8065b, F=0x0, S=1, 8
-0, 404, 405, 1, 24, 0x53b8069b, F=0x0, S=1, 8
-0, 405, 406, 1, 24, 0x587806db, F=0x0, S=1, 8
-0, 406, 407, 1, 24, 0x5d38071b, F=0x0, S=1, 8
-0, 407, 408, 1, 24, 0x4f0c065c, F=0x0, S=1, 8
-0, 408, 409, 1, 24, 0x53cc069c, F=0x0, S=1, 8
-0, 409, 410, 1, 24, 0x588c06dc, F=0x0, S=1, 8
-0, 410, 411, 1, 24, 0x5d4c071c, F=0x0, S=1, 8
-0, 411, 412, 1, 24, 0x4f20065d, F=0x0, S=1, 8
-0, 412, 413, 1, 24, 0x53e0069d, F=0x0, S=1, 8
-0, 413, 414, 1, 24, 0x58a006dd, F=0x0, S=1, 8
-0, 414, 415, 1, 24, 0x5d60071d, F=0x0, S=1, 8
-0, 415, 416, 1, 24, 0x4f34065e, F=0x0, S=1, 8
-0, 416, 417, 1, 24, 0x53f4069e, F=0x0, S=1, 8
-0, 417, 418, 1, 24, 0x58b406de, F=0x0, S=1, 8
-0, 418, 419, 1, 24, 0x5d74071e, F=0x0, S=1, 8
-0, 419, 420, 1, 24, 0x4f48065f, F=0x0, S=1, 8
-0, 420, 421, 1, 24, 0x5408069f, F=0x0, S=1, 8
-0, 421, 422, 1, 24, 0x58c806df, F=0x0, S=1, 8
-0, 422, 423, 1, 24, 0x5d88071f, F=0x0, S=1, 8
-0, 423, 424, 1, 24, 0x4f5c0660, F=0x0, S=1, 8
-0, 424, 425, 1, 24, 0x541c06a0, F=0x0, S=1, 8
-0, 425, 426, 1, 24, 0x58dc06e0, F=0x0, S=1, 8
-0, 426, 427, 1, 24, 0x5d9c0720, F=0x0, S=1, 8
-0, 427, 428, 1, 24, 0x4f700661, F=0x0, S=1, 8
-0, 428, 429, 1, 24, 0x543006a1, F=0x0, S=1, 8
-0, 429, 430, 1, 24, 0x58f006e1, F=0x0, S=1, 8
-0, 430, 431, 1, 24, 0x5db00721, F=0x0, S=1, 8
-0, 431, 432, 1, 24, 0x4f840662, F=0x0, S=1, 8
-0, 432, 433, 1, 24, 0x544406a2, F=0x0, S=1, 8
-0, 433, 434, 1, 24, 0x590406e2, F=0x0, S=1, 8
-0, 434, 435, 1, 24, 0x5dc40722, F=0x0, S=1, 8
-0, 435, 436, 1, 24, 0x4f980663, F=0x0, S=1, 8
-0, 436, 437, 1, 24, 0x545806a3, F=0x0, S=1, 8
-0, 437, 438, 1, 24, 0x591806e3, F=0x0, S=1, 8
-0, 438, 439, 1, 24, 0x5dd80723, F=0x0, S=1, 8
-0, 439, 440, 1, 24, 0x4fac0664, F=0x0, S=1, 8
-0, 440, 441, 1, 24, 0x546c06a4, F=0x0, S=1, 8
-0, 441, 442, 1, 24, 0x592c06e4, F=0x0, S=1, 8
-0, 442, 443, 1, 24, 0x5dec0724, F=0x0, S=1, 8
-0, 443, 444, 1, 24, 0x4fc00665, F=0x0, S=1, 8
-0, 444, 445, 1, 24, 0x548006a5, F=0x0, S=1, 8
-0, 445, 446, 1, 24, 0x594006e5, F=0x0, S=1, 8
-0, 446, 447, 1, 24, 0x5e000725, F=0x0, S=1, 8
-0, 447, 448, 1, 24, 0x4fd40666, F=0x0, S=1, 8
-0, 448, 449, 1, 24, 0x549406a6, F=0x0, S=1, 8
-0, 449, 450, 1, 24, 0x595406e6, F=0x0, S=1, 8
-0, 450, 451, 1, 24, 0x5e140726, F=0x0, S=1, 8
-0, 451, 452, 1, 24, 0x4fe80667, F=0x0, S=1, 8
-0, 452, 453, 1, 24, 0x54a806a7, F=0x0, S=1, 8
-0, 453, 454, 1, 24, 0x596806e7, F=0x0, S=1, 8
-0, 454, 455, 1, 24, 0x5e280727, F=0x0, S=1, 8
-0, 455, 456, 1, 24, 0x4ffc0668, F=0x0, S=1, 8
-0, 456, 457, 1, 24, 0x54bc06a8, F=0x0, S=1, 8
-0, 457, 458, 1, 24, 0x597c06e8, F=0x0, S=1, 8
-0, 458, 459, 1, 24, 0x5e3c0728, F=0x0, S=1, 8
-0, 459, 460, 1, 24, 0x50100669, F=0x0, S=1, 8
-0, 460, 461, 1, 24, 0x54d006a9, F=0x0, S=1, 8
-0, 461, 462, 1, 24, 0x599006e9, F=0x0, S=1, 8
-0, 462, 463, 1, 24, 0x5e500729, F=0x0, S=1, 8
-0, 463, 464, 1, 24, 0x5024066a, F=0x0, S=1, 8
-0, 464, 465, 1, 24, 0x54e406aa, F=0x0, S=1, 8
-0, 465, 466, 1, 24, 0x59a406ea, F=0x0, S=1, 8
-0, 466, 467, 1, 24, 0x5e64072a, F=0x0, S=1, 8
-0, 467, 468, 1, 24, 0x5038066b, F=0x0, S=1, 8
-0, 468, 469, 1, 24, 0x54f806ab, F=0x0, S=1, 8
-0, 469, 470, 1, 24, 0x59b806eb, F=0x0, S=1, 8
-0, 470, 471, 1, 24, 0x5e78072b, F=0x0, S=1, 8
-0, 471, 472, 1, 24, 0x504c066c, F=0x0, S=1, 8
-0, 472, 473, 1, 24, 0x550c06ac, F=0x0, S=1, 8
-0, 473, 474, 1, 24, 0x59cc06ec, F=0x0, S=1, 8
-0, 474, 475, 1, 24, 0x5e8c072c, F=0x0, S=1, 8
-0, 475, 476, 1, 24, 0x5060066d, F=0x0, S=1, 8
-0, 476, 477, 1, 24, 0x552006ad, F=0x0, S=1, 8
-0, 477, 478, 1, 24, 0x59e006ed, F=0x0, S=1, 8
-0, 478, 479, 1, 24, 0x5ea0072d, F=0x0, S=1, 8
-0, 479, 480, 1, 24, 0x5074066e, F=0x0, S=1, 8
-0, 480, 481, 1, 24, 0x553406ae, F=0x0, S=1, 8
-0, 481, 482, 1, 24, 0x59f406ee, F=0x0, S=1, 8
-0, 482, 483, 1, 24, 0x5eb4072e, F=0x0, S=1, 8
-0, 483, 484, 1, 24, 0x5088066f, F=0x0, S=1, 8
-0, 484, 485, 1, 24, 0x554806af, F=0x0, S=1, 8
-0, 485, 486, 1, 24, 0x5a0806ef, F=0x0, S=1, 8
-0, 486, 487, 1, 24, 0x5ec8072f, F=0x0, S=1, 8
-0, 487, 488, 1, 24, 0x509c0670, F=0x0, S=1, 8
-0, 488, 489, 1, 24, 0x555c06b0, F=0x0, S=1, 8
-0, 489, 490, 1, 24, 0x5a1c06f0, F=0x0, S=1, 8
-0, 490, 491, 1, 24, 0x5edc0730, F=0x0, S=1, 8
-0, 491, 492, 1, 24, 0x50b00671, F=0x0, S=1, 8
-0, 492, 493, 1, 24, 0x557006b1, F=0x0, S=1, 8
-0, 493, 494, 1, 24, 0x5a3006f1, F=0x0, S=1, 8
-0, 494, 495, 1, 24, 0x5ef00731, F=0x0, S=1, 8
-0, 495, 496, 1, 24, 0x50c40672, F=0x0, S=1, 8
-0, 496, 497, 1, 24, 0x558406b2, F=0x0, S=1, 8
-0, 497, 498, 1, 24, 0x5a4406f2, F=0x0, S=1, 8
-0, 498, 499, 1, 24, 0x5f040732, F=0x0, S=1, 8
-0, 499, 500, 1, 24, 0x50d80673, F=0x0, S=1, 8
-0, 500, 501, 1, 24, 0x559806b3, F=0x0, S=1, 8
-0, 501, 502, 1, 24, 0x5a5806f3, F=0x0, S=1, 8
-0, 502, 503, 1, 24, 0x5f180733, F=0x0, S=1, 8
-0, 503, 504, 1, 24, 0x50ec0674, F=0x0, S=1, 8
-0, 504, 505, 1, 24, 0x55ac06b4, F=0x0, S=1, 8
-0, 505, 506, 1, 24, 0x5a6c06f4, F=0x0, S=1, 8
-0, 506, 507, 1, 24, 0x5f2c0734, F=0x0, S=1, 8
-0, 507, 508, 1, 24, 0x51000675, F=0x0, S=1, 8
-0, 508, 509, 1, 24, 0x55c006b5, F=0x0, S=1, 8
-0, 509, 510, 1, 24, 0x5a8006f5, F=0x0, S=1, 8
-0, 510, 511, 1, 24, 0x5f400735, F=0x0, S=1, 8
-0, 511, 512, 1, 24, 0x51140676, F=0x0, S=1, 8
-0, 512, 513, 1, 24, 0x55d406b6, F=0x0, S=1, 8
-0, 513, 514, 1, 24, 0x5a9406f6, F=0x0, S=1, 8
-0, 514, 515, 1, 24, 0x5f540736, F=0x0, S=1, 8
-0, 515, 516, 1, 24, 0x51280677, F=0x0, S=1, 8
-0, 516, 517, 1, 24, 0x55e806b7, F=0x0, S=1, 8
-0, 517, 518, 1, 24, 0x5aa806f7, F=0x0, S=1, 8
-0, 518, 519, 1, 24, 0x5f680737, F=0x0, S=1, 8
-0, 519, 520, 1, 24, 0x513c0678, F=0x0, S=1, 8
-0, 520, 521, 1, 24, 0x55fc06b8, F=0x0, S=1, 8
-0, 521, 522, 1, 24, 0x5abc06f8, F=0x0, S=1, 8
-0, 522, 523, 1, 24, 0x5f7c0738, F=0x0, S=1, 8
-0, 523, 524, 1, 24, 0x51500679, F=0x0, S=1, 8
-0, 524, 525, 1, 24, 0x561006b9, F=0x0, S=1, 8
-0, 525, 526, 1, 57, 0x896e0f04, S=1, 8
-0, 526, 527, 1, 24, 0x4f1c0660, F=0x0, S=1, 8
-0, 527, 528, 1, 24, 0x53dc06a0, F=0x0, S=1, 8
-0, 528, 529, 1, 24, 0x589c06e0, F=0x0, S=1, 8
-0, 529, 530, 1, 24, 0x4a700621, F=0x0, S=1, 8
-0, 530, 531, 1, 24, 0x4f300661, F=0x0, S=1, 8
-0, 531, 532, 1, 24, 0x53f006a1, F=0x0, S=1, 8
-0, 532, 533, 1, 24, 0x58b006e1, F=0x0, S=1, 8
-0, 533, 534, 1, 24, 0x4a840622, F=0x0, S=1, 8
-0, 534, 535, 1, 24, 0x4f440662, F=0x0, S=1, 8
-0, 535, 536, 1, 24, 0x540406a2, F=0x0, S=1, 8
-0, 536, 537, 1, 24, 0x58c406e2, F=0x0, S=1, 8
-0, 537, 538, 1, 24, 0x4a980623, F=0x0, S=1, 8
-0, 538, 539, 1, 24, 0x4f580663, F=0x0, S=1, 8
-0, 539, 540, 1, 24, 0x541806a3, F=0x0, S=1, 8
-0, 540, 541, 1, 24, 0x58d806e3, F=0x0, S=1, 8
-0, 541, 542, 1, 24, 0x4aac0624, F=0x0, S=1, 8
-0, 542, 543, 1, 24, 0x4f6c0664, F=0x0, S=1, 8
-0, 543, 544, 1, 24, 0x542c06a4, F=0x0, S=1, 8
-0, 544, 545, 1, 24, 0x58ec06e4, F=0x0, S=1, 8
-0, 545, 546, 1, 24, 0x4ac00625, F=0x0, S=1, 8
-0, 546, 547, 1, 24, 0x4f800665, F=0x0, S=1, 8
-0, 547, 548, 1, 24, 0x544006a5, F=0x0, S=1, 8
-0, 548, 549, 1, 24, 0x590006e5, F=0x0, S=1, 8
-0, 549, 550, 1, 24, 0x4ad40626, F=0x0, S=1, 8
-0, 550, 551, 1, 24, 0x4f940666, F=0x0, S=1, 8
-0, 551, 552, 1, 24, 0x545406a6, F=0x0, S=1, 8
-0, 552, 553, 1, 24, 0x591406e6, F=0x0, S=1, 8
-0, 553, 554, 1, 24, 0x4ae80627, F=0x0, S=1, 8
-0, 554, 555, 1, 24, 0x4fa80667, F=0x0, S=1, 8
-0, 555, 556, 1, 24, 0x546806a7, F=0x0, S=1, 8
-0, 556, 557, 1, 24, 0x592806e7, F=0x0, S=1, 8
-0, 557, 558, 1, 24, 0x4afc0628, F=0x0, S=1, 8
-0, 558, 559, 1, 24, 0x4fbc0668, F=0x0, S=1, 8
-0, 559, 560, 1, 24, 0x547c06a8, F=0x0, S=1, 8
-0, 560, 561, 1, 24, 0x593c06e8, F=0x0, S=1, 8
-0, 561, 562, 1, 24, 0x4b100629, F=0x0, S=1, 8
-0, 562, 563, 1, 24, 0x4fd00669, F=0x0, S=1, 8
-0, 563, 564, 1, 24, 0x549006a9, F=0x0, S=1, 8
-0, 564, 565, 1, 24, 0x595006e9, F=0x0, S=1, 8
-0, 565, 566, 1, 24, 0x4b24062a, F=0x0, S=1, 8
-0, 566, 567, 1, 24, 0x4fe4066a, F=0x0, S=1, 8
-0, 567, 568, 1, 24, 0x54a406aa, F=0x0, S=1, 8
-0, 568, 569, 1, 24, 0x596406ea, F=0x0, S=1, 8
-0, 569, 570, 1, 24, 0x4b38062b, F=0x0, S=1, 8
-0, 570, 571, 1, 24, 0x4ff8066b, F=0x0, S=1, 8
-0, 571, 572, 1, 24, 0x54b806ab, F=0x0, S=1, 8
-0, 572, 573, 1, 24, 0x597806eb, F=0x0, S=1, 8
-0, 573, 574, 1, 24, 0x4b4c062c, F=0x0, S=1, 8
-0, 574, 575, 1, 24, 0x500c066c, F=0x0, S=1, 8
-0, 575, 576, 1, 57, 0x901d0f3f, S=1, 8
-0, 576, 577, 1, 24, 0x4f1c0660, F=0x0, S=1, 8
-0, 577, 578, 1, 24, 0x53dc06a0, F=0x0, S=1, 8
-0, 578, 579, 1, 24, 0x589c06e0, F=0x0, S=1, 8
-0, 579, 580, 1, 24, 0x4a700621, F=0x0, S=1, 8
-0, 580, 581, 1, 24, 0x4f300661, F=0x0, S=1, 8
-0, 581, 582, 1, 24, 0x53f006a1, F=0x0, S=1, 8
-0, 582, 583, 1, 24, 0x58b006e1, F=0x0, S=1, 8
-0, 583, 584, 1, 24, 0x4a840622, F=0x0, S=1, 8
-0, 584, 585, 1, 24, 0x4f440662, F=0x0, S=1, 8
-0, 585, 586, 1, 24, 0x540406a2, F=0x0, S=1, 8
-0, 586, 587, 1, 24, 0x58c406e2, F=0x0, S=1, 8
-0, 587, 588, 1, 24, 0x4a980623, F=0x0, S=1, 8
-0, 588, 589, 1, 24, 0x4f580663, F=0x0, S=1, 8
-0, 589, 590, 1, 24, 0x541806a3, F=0x0, S=1, 8
-0, 590, 591, 1, 24, 0x58d806e3, F=0x0, S=1, 8
-0, 591, 592, 1, 24, 0x4aac0624, F=0x0, S=1, 8
-0, 592, 593, 1, 24, 0x4f6c0664, F=0x0, S=1, 8
-0, 593, 594, 1, 24, 0x542c06a4, F=0x0, S=1, 8
-0, 594, 595, 1, 24, 0x58ec06e4, F=0x0, S=1, 8
-0, 595, 596, 1, 24, 0x4ac00625, F=0x0, S=1, 8
-0, 596, 597, 1, 24, 0x4f800665, F=0x0, S=1, 8
-0, 597, 598, 1, 24, 0x544006a5, F=0x0, S=1, 8
-0, 598, 599, 1, 24, 0x590006e5, F=0x0, S=1, 8
-0, 599, 600, 1, 24, 0x4ad40626, F=0x0, S=1, 8
-0, 600, 601, 1, 24, 0x4f940666, F=0x0, S=1, 8
-0, 601, 602, 1, 24, 0x545406a6, F=0x0, S=1, 8
-0, 602, 603, 1, 24, 0x591406e6, F=0x0, S=1, 8
-0, 603, 604, 1, 24, 0x4ae80627, F=0x0, S=1, 8
-0, 604, 605, 1, 24, 0x4fa80667, F=0x0, S=1, 8
-0, 605, 606, 1, 24, 0x546806a7, F=0x0, S=1, 8
-0, 606, 607, 1, 24, 0x592806e7, F=0x0, S=1, 8
-0, 607, 608, 1, 24, 0x4afc0628, F=0x0, S=1, 8
-0, 608, 609, 1, 24, 0x4fbc0668, F=0x0, S=1, 8
-0, 609, 610, 1, 24, 0x547c06a8, F=0x0, S=1, 8
-0, 610, 611, 1, 24, 0x593c06e8, F=0x0, S=1, 8
+0, -1, 0, 1, 57, 0x8baa0f1a, S=1, Quality stats, 8, 0x05ec00be
+0, 0, 1, 1, 24, 0x4f1c0660, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 1, 2, 1, 24, 0x53dc06a0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 2, 3, 1, 24, 0x589c06e0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 3, 4, 1, 24, 0x4a700621, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 4, 5, 1, 24, 0x4f300661, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 5, 6, 1, 24, 0x53f006a1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 6, 7, 1, 24, 0x58b006e1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 7, 8, 1, 24, 0x4a840622, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 8, 9, 1, 24, 0x4f440662, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 9, 10, 1, 24, 0x540406a2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 10, 11, 1, 24, 0x58c406e2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 11, 12, 1, 24, 0x4a980623, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 12, 13, 1, 24, 0x4f580663, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 13, 14, 1, 24, 0x541806a3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 14, 15, 1, 24, 0x58d806e3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 15, 16, 1, 24, 0x4aac0624, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 16, 17, 1, 24, 0x4f6c0664, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 17, 18, 1, 24, 0x542c06a4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 18, 19, 1, 24, 0x58ec06e4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 19, 20, 1, 24, 0x4ac00625, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 20, 21, 1, 24, 0x4f800665, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 21, 22, 1, 24, 0x544006a5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 22, 23, 1, 24, 0x590006e5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 23, 24, 1, 24, 0x4ad40626, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 24, 25, 1, 24, 0x4f940666, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 25, 26, 1, 24, 0x545406a6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 26, 27, 1, 24, 0x591406e6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 27, 28, 1, 24, 0x4ae80627, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 28, 29, 1, 24, 0x4fa80667, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 29, 30, 1, 24, 0x546806a7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 30, 31, 1, 24, 0x592806e7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 31, 32, 1, 24, 0x4afc0628, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 32, 33, 1, 24, 0x4fbc0668, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 33, 34, 1, 24, 0x547c06a8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 34, 35, 1, 24, 0x593c06e8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 35, 36, 1, 24, 0x4b100629, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 36, 37, 1, 24, 0x4fd00669, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 37, 38, 1, 24, 0x549006a9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 38, 39, 1, 24, 0x595006e9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 39, 40, 1, 24, 0x4b24062a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 40, 41, 1, 24, 0x4fe4066a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 41, 42, 1, 24, 0x54a406aa, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 42, 43, 1, 24, 0x596406ea, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 43, 44, 1, 24, 0x4b38062b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 44, 45, 1, 24, 0x4ff8066b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 45, 46, 1, 24, 0x54b806ab, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 46, 47, 1, 24, 0x597806eb, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 47, 48, 1, 24, 0x4b4c062c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 48, 49, 1, 24, 0x500c066c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 49, 50, 1, 24, 0x54cc06ac, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 50, 51, 1, 24, 0x598c06ec, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 51, 52, 1, 24, 0x4b60062d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 52, 53, 1, 24, 0x5020066d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 53, 54, 1, 24, 0x54e006ad, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 54, 55, 1, 24, 0x59a006ed, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 55, 56, 1, 24, 0x4b74062e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 56, 57, 1, 24, 0x5034066e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 57, 58, 1, 24, 0x54f406ae, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 58, 59, 1, 24, 0x59b406ee, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 59, 60, 1, 24, 0x4b88062f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 60, 61, 1, 24, 0x5048066f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 61, 62, 1, 24, 0x550806af, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 62, 63, 1, 24, 0x59c806ef, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 63, 64, 1, 24, 0x4b9c0630, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 64, 65, 1, 24, 0x505c0670, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 65, 66, 1, 24, 0x551c06b0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 66, 67, 1, 24, 0x59dc06f0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 67, 68, 1, 24, 0x4bb00631, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 68, 69, 1, 24, 0x50700671, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 69, 70, 1, 24, 0x553006b1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 70, 71, 1, 24, 0x59f006f1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 71, 72, 1, 24, 0x4bc40632, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 72, 73, 1, 24, 0x50840672, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 73, 74, 1, 24, 0x554406b2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 74, 75, 1, 24, 0x5a0406f2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 75, 76, 1, 24, 0x4bd80633, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 76, 77, 1, 24, 0x50980673, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 77, 78, 1, 24, 0x555806b3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 78, 79, 1, 24, 0x5a1806f3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 79, 80, 1, 24, 0x4bec0634, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 80, 81, 1, 24, 0x50ac0674, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 81, 82, 1, 24, 0x556c06b4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 82, 83, 1, 24, 0x5a2c06f4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 83, 84, 1, 24, 0x4c000635, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 84, 85, 1, 24, 0x50c00675, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 85, 86, 1, 24, 0x558006b5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 86, 87, 1, 24, 0x5a4006f5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 87, 88, 1, 24, 0x4c140636, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 88, 89, 1, 24, 0x50d40676, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 89, 90, 1, 24, 0x559406b6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 90, 91, 1, 24, 0x5a5406f6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 91, 92, 1, 24, 0x4c280637, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 92, 93, 1, 24, 0x50e80677, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 93, 94, 1, 24, 0x55a806b7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 94, 95, 1, 24, 0x5a6806f7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 95, 96, 1, 24, 0x4c3c0638, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 96, 97, 1, 24, 0x50fc0678, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 97, 98, 1, 24, 0x55bc06b8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 98, 99, 1, 24, 0x5a7c06f8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 99, 100, 1, 24, 0x4c500639, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 100, 101, 1, 24, 0x51100679, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 101, 102, 1, 24, 0x55d006b9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 102, 103, 1, 24, 0x5a9006f9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 103, 104, 1, 24, 0x4c64063a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 104, 105, 1, 24, 0x5124067a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 105, 106, 1, 24, 0x55e406ba, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 106, 107, 1, 24, 0x5aa406fa, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 107, 108, 1, 24, 0x4c78063b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 108, 109, 1, 24, 0x5138067b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 109, 110, 1, 24, 0x55f806bb, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 110, 111, 1, 24, 0x5ab806fb, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 111, 112, 1, 24, 0x4c8c063c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 112, 113, 1, 24, 0x514c067c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 113, 114, 1, 24, 0x560c06bc, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 114, 115, 1, 24, 0x5acc06fc, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 115, 116, 1, 24, 0x4ca0063d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 116, 117, 1, 24, 0x5160067d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 117, 118, 1, 24, 0x562006bd, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 118, 119, 1, 24, 0x5ae006fd, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 119, 120, 1, 24, 0x4cb4063e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 120, 121, 1, 24, 0x5174067e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 121, 122, 1, 24, 0x563406be, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 122, 123, 1, 24, 0x5af406fe, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 123, 124, 1, 24, 0x4cc8063f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 124, 125, 1, 24, 0x5188067f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 125, 126, 1, 24, 0x564806bf, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 126, 127, 1, 24, 0x5b0806ff, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 127, 128, 1, 24, 0x4cdc0640, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 128, 129, 1, 24, 0x519c0680, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 129, 130, 1, 24, 0x565c06c0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 130, 131, 1, 24, 0x5b1c0700, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 131, 132, 1, 24, 0x4cf00641, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 132, 133, 1, 24, 0x51b00681, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 133, 134, 1, 24, 0x567006c1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 134, 135, 1, 24, 0x5b300701, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 135, 136, 1, 24, 0x4d040642, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 136, 137, 1, 24, 0x51c40682, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 137, 138, 1, 24, 0x568406c2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 138, 139, 1, 24, 0x5b440702, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 139, 140, 1, 24, 0x4d180643, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 140, 141, 1, 24, 0x51d80683, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 141, 142, 1, 24, 0x569806c3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 142, 143, 1, 24, 0x5b580703, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 143, 144, 1, 24, 0x4d2c0644, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 144, 145, 1, 24, 0x51ec0684, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 145, 146, 1, 24, 0x56ac06c4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 146, 147, 1, 24, 0x5b6c0704, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 147, 148, 1, 24, 0x4d400645, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 148, 149, 1, 24, 0x52000685, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 149, 150, 1, 24, 0x56c006c5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 150, 151, 1, 24, 0x5b800705, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 151, 152, 1, 24, 0x4d540646, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 152, 153, 1, 24, 0x52140686, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 153, 154, 1, 24, 0x56d406c6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 154, 155, 1, 24, 0x5b940706, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 155, 156, 1, 24, 0x4d680647, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 156, 157, 1, 24, 0x52280687, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 157, 158, 1, 24, 0x56e806c7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 158, 159, 1, 24, 0x5ba80707, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 159, 160, 1, 24, 0x4d7c0648, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 160, 161, 1, 24, 0x523c0688, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 161, 162, 1, 24, 0x56fc06c8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 162, 163, 1, 24, 0x5bbc0708, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 163, 164, 1, 24, 0x4d900649, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 164, 165, 1, 24, 0x52500689, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 165, 166, 1, 24, 0x571006c9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 166, 167, 1, 24, 0x5bd00709, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 167, 168, 1, 57, 0x97cf0f83, S=1, Quality stats, 8, 0x05ec00be
+0, 168, 169, 1, 24, 0x4f1c0660, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 169, 170, 1, 24, 0x53dc06a0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 170, 171, 1, 24, 0x589c06e0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 171, 172, 1, 24, 0x4a700621, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 172, 173, 1, 24, 0x4f300661, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 173, 174, 1, 24, 0x53f006a1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 174, 175, 1, 24, 0x58b006e1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 175, 176, 1, 24, 0x4a840622, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 176, 177, 1, 24, 0x4f440662, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 177, 178, 1, 24, 0x540406a2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 178, 179, 1, 24, 0x58c406e2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 179, 180, 1, 24, 0x4a980623, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 180, 181, 1, 24, 0x4f580663, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 181, 182, 1, 24, 0x541806a3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 182, 183, 1, 24, 0x58d806e3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 183, 184, 1, 24, 0x4aac0624, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 184, 185, 1, 24, 0x4f6c0664, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 185, 186, 1, 24, 0x542c06a4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 186, 187, 1, 24, 0x58ec06e4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 187, 188, 1, 24, 0x4ac00625, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 188, 189, 1, 24, 0x4f800665, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 189, 190, 1, 24, 0x544006a5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 190, 191, 1, 24, 0x590006e5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 191, 192, 1, 24, 0x4ad40626, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 192, 193, 1, 24, 0x4f940666, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 193, 194, 1, 24, 0x545406a6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 194, 195, 1, 24, 0x591406e6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 195, 196, 1, 24, 0x4ae80627, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 196, 197, 1, 24, 0x4fa80667, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 197, 198, 1, 24, 0x546806a7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 198, 199, 1, 24, 0x592806e7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 199, 200, 1, 24, 0x4afc0628, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 200, 201, 1, 24, 0x4fbc0668, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 201, 202, 1, 24, 0x547c06a8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 202, 203, 1, 24, 0x593c06e8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 203, 204, 1, 24, 0x4b100629, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 204, 205, 1, 24, 0x4fd00669, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 205, 206, 1, 24, 0x549006a9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 206, 207, 1, 24, 0x595006e9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 207, 208, 1, 24, 0x4b24062a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 208, 209, 1, 24, 0x4fe4066a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 209, 210, 1, 24, 0x54a406aa, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 210, 211, 1, 24, 0x596406ea, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 211, 212, 1, 24, 0x4b38062b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 212, 213, 1, 24, 0x4ff8066b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 213, 214, 1, 24, 0x54b806ab, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 214, 215, 1, 24, 0x597806eb, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 215, 216, 1, 24, 0x4b4c062c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 216, 217, 1, 24, 0x500c066c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 217, 218, 1, 24, 0x54cc06ac, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 218, 219, 1, 24, 0x598c06ec, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 219, 220, 1, 24, 0x4b60062d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 220, 221, 1, 24, 0x5020066d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 221, 222, 1, 24, 0x54e006ad, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 222, 223, 1, 24, 0x59a006ed, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 223, 224, 1, 24, 0x4b74062e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 224, 225, 1, 24, 0x5034066e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 225, 226, 1, 24, 0x54f406ae, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 226, 227, 1, 24, 0x59b406ee, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 227, 228, 1, 24, 0x4b88062f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 228, 229, 1, 24, 0x5048066f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 229, 230, 1, 24, 0x550806af, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 230, 231, 1, 24, 0x59c806ef, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 231, 232, 1, 24, 0x4b9c0630, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 232, 233, 1, 24, 0x505c0670, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 233, 234, 1, 24, 0x551c06b0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 234, 235, 1, 24, 0x59dc06f0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 235, 236, 1, 24, 0x4bb00631, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 236, 237, 1, 24, 0x50700671, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 237, 238, 1, 24, 0x553006b1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 238, 239, 1, 24, 0x59f006f1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 239, 240, 1, 24, 0x4bc40632, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 240, 241, 1, 24, 0x50840672, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 241, 242, 1, 24, 0x554406b2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 242, 243, 1, 24, 0x5a0406f2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 243, 244, 1, 24, 0x4bd80633, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 244, 245, 1, 24, 0x50980673, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 245, 246, 1, 24, 0x555806b3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 246, 247, 1, 24, 0x5a1806f3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 247, 248, 1, 24, 0x4bec0634, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 248, 249, 1, 24, 0x50ac0674, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 249, 250, 1, 24, 0x556c06b4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 250, 251, 1, 24, 0x5a2c06f4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 251, 252, 1, 24, 0x4c000635, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 252, 253, 1, 24, 0x50c00675, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 253, 254, 1, 24, 0x558006b5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 254, 255, 1, 24, 0x5a4006f5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 255, 256, 1, 24, 0x4c140636, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 256, 257, 1, 24, 0x50d40676, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 257, 258, 1, 24, 0x559406b6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 258, 259, 1, 24, 0x5a5406f6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 259, 260, 1, 24, 0x4c280637, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 260, 261, 1, 24, 0x50e80677, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 261, 262, 1, 24, 0x55a806b7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 262, 263, 1, 24, 0x5a6806f7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 263, 264, 1, 24, 0x4c3c0638, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 264, 265, 1, 24, 0x50fc0678, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 265, 266, 1, 24, 0x55bc06b8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 266, 267, 1, 24, 0x5a7c06f8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 267, 268, 1, 24, 0x4c500639, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 268, 269, 1, 24, 0x51100679, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 269, 270, 1, 24, 0x55d006b9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 270, 271, 1, 24, 0x5a9006f9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 271, 272, 1, 24, 0x4c64063a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 272, 273, 1, 24, 0x5124067a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 273, 274, 1, 24, 0x55e406ba, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 274, 275, 1, 24, 0x5aa406fa, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 275, 276, 1, 24, 0x4c78063b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 276, 277, 1, 24, 0x5138067b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 277, 278, 1, 24, 0x55f806bb, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 278, 279, 1, 24, 0x5ab806fb, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 279, 280, 1, 24, 0x4c8c063c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 280, 281, 1, 24, 0x514c067c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 281, 282, 1, 24, 0x560c06bc, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 282, 283, 1, 24, 0x5acc06fc, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 283, 284, 1, 24, 0x4ca0063d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 284, 285, 1, 24, 0x5160067d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 285, 286, 1, 24, 0x562006bd, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 286, 287, 1, 24, 0x5ae006fd, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 287, 288, 1, 24, 0x4cb4063e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 288, 289, 1, 24, 0x5174067e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 289, 290, 1, 24, 0x563406be, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 290, 291, 1, 24, 0x5af406fe, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 291, 292, 1, 24, 0x4cc8063f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 292, 293, 1, 24, 0x5188067f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 293, 294, 1, 24, 0x564806bf, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 294, 295, 1, 24, 0x5b0806ff, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 295, 296, 1, 24, 0x4cdc0640, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 296, 297, 1, 24, 0x519c0680, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 297, 298, 1, 24, 0x565c06c0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 298, 299, 1, 24, 0x5b1c0700, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 299, 300, 1, 24, 0x4cf00641, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 300, 301, 1, 24, 0x51b00681, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 301, 302, 1, 24, 0x567006c1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 302, 303, 1, 24, 0x5b300701, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 303, 304, 1, 24, 0x4d040642, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 304, 305, 1, 24, 0x51c40682, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 305, 306, 1, 24, 0x568406c2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 306, 307, 1, 24, 0x5b440702, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 307, 308, 1, 24, 0x4d180643, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 308, 309, 1, 24, 0x51d80683, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 309, 310, 1, 24, 0x569806c3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 310, 311, 1, 24, 0x5b580703, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 311, 312, 1, 24, 0x4d2c0644, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 312, 313, 1, 24, 0x51ec0684, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 313, 314, 1, 24, 0x56ac06c4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 314, 315, 1, 24, 0x5b6c0704, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 315, 316, 1, 24, 0x4d400645, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 316, 317, 1, 24, 0x52000685, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 317, 318, 1, 24, 0x56c006c5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 318, 319, 1, 24, 0x5b800705, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 319, 320, 1, 24, 0x4d540646, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 320, 321, 1, 24, 0x52140686, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 321, 322, 1, 24, 0x56d406c6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 322, 323, 1, 24, 0x5b940706, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 323, 324, 1, 24, 0x4d680647, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 324, 325, 1, 24, 0x52280687, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 325, 326, 1, 24, 0x56e806c7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 326, 327, 1, 24, 0x5ba80707, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 327, 328, 1, 24, 0x4d7c0648, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 328, 329, 1, 24, 0x523c0688, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 329, 330, 1, 24, 0x56fc06c8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 330, 331, 1, 24, 0x5bbc0708, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 331, 332, 1, 24, 0x4d900649, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 332, 333, 1, 24, 0x52500689, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 333, 334, 1, 24, 0x571006c9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 334, 335, 1, 24, 0x5bd00709, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 335, 336, 1, 24, 0x4da4064a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 336, 337, 1, 24, 0x5264068a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 337, 338, 1, 24, 0x572406ca, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 338, 339, 1, 24, 0x5be4070a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 339, 340, 1, 24, 0x4db8064b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 340, 341, 1, 24, 0x5278068b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 341, 342, 1, 24, 0x573806cb, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 342, 343, 1, 24, 0x5bf8070b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 343, 344, 1, 24, 0x4dcc064c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 344, 345, 1, 24, 0x528c068c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 345, 346, 1, 24, 0x574c06cc, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 346, 347, 1, 24, 0x5c0c070c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 347, 348, 1, 24, 0x4de0064d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 348, 349, 1, 24, 0x52a0068d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 349, 350, 1, 24, 0x576006cd, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 350, 351, 1, 24, 0x5c20070d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 351, 352, 1, 24, 0x4df4064e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 352, 353, 1, 24, 0x52b4068e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 353, 354, 1, 24, 0x577406ce, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 354, 355, 1, 24, 0x5c34070e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 355, 356, 1, 24, 0x4e08064f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 356, 357, 1, 24, 0x52c8068f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 357, 358, 1, 24, 0x578806cf, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 358, 359, 1, 24, 0x5c48070f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 359, 360, 1, 24, 0x4e1c0650, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 360, 361, 1, 24, 0x52dc0690, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 361, 362, 1, 24, 0x579c06d0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 362, 363, 1, 24, 0x5c5c0710, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 363, 364, 1, 24, 0x4e300651, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 364, 365, 1, 24, 0x52f00691, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 365, 366, 1, 24, 0x57b006d1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 366, 367, 1, 24, 0x5c700711, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 367, 368, 1, 24, 0x4e440652, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 368, 369, 1, 24, 0x53040692, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 369, 370, 1, 24, 0x57c406d2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 370, 371, 1, 24, 0x5c840712, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 371, 372, 1, 24, 0x4e580653, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 372, 373, 1, 24, 0x53180693, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 373, 374, 1, 24, 0x57d806d3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 374, 375, 1, 24, 0x5c980713, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 375, 376, 1, 24, 0x4e6c0654, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 376, 377, 1, 24, 0x532c0694, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 377, 378, 1, 24, 0x57ec06d4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 378, 379, 1, 24, 0x5cac0714, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 379, 380, 1, 24, 0x4e800655, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 380, 381, 1, 24, 0x53400695, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 381, 382, 1, 24, 0x580006d5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 382, 383, 1, 24, 0x5cc00715, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 383, 384, 1, 24, 0x4e940656, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 384, 385, 1, 24, 0x53540696, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 385, 386, 1, 24, 0x581406d6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 386, 387, 1, 24, 0x5cd40716, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 387, 388, 1, 24, 0x4ea80657, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 388, 389, 1, 24, 0x53680697, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 389, 390, 1, 24, 0x582806d7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 390, 391, 1, 24, 0x5ce80717, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 391, 392, 1, 24, 0x4ebc0658, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 392, 393, 1, 24, 0x537c0698, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 393, 394, 1, 24, 0x583c06d8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 394, 395, 1, 24, 0x5cfc0718, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 395, 396, 1, 24, 0x4ed00659, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 396, 397, 1, 24, 0x53900699, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 397, 398, 1, 24, 0x585006d9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 398, 399, 1, 24, 0x5d100719, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 399, 400, 1, 24, 0x4ee4065a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 400, 401, 1, 24, 0x53a4069a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 401, 402, 1, 24, 0x586406da, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 402, 403, 1, 24, 0x5d24071a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 403, 404, 1, 24, 0x4ef8065b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 404, 405, 1, 24, 0x53b8069b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 405, 406, 1, 24, 0x587806db, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 406, 407, 1, 24, 0x5d38071b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 407, 408, 1, 24, 0x4f0c065c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 408, 409, 1, 24, 0x53cc069c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 409, 410, 1, 24, 0x588c06dc, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 410, 411, 1, 24, 0x5d4c071c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 411, 412, 1, 24, 0x4f20065d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 412, 413, 1, 24, 0x53e0069d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 413, 414, 1, 24, 0x58a006dd, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 414, 415, 1, 24, 0x5d60071d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 415, 416, 1, 24, 0x4f34065e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 416, 417, 1, 24, 0x53f4069e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 417, 418, 1, 24, 0x58b406de, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 418, 419, 1, 24, 0x5d74071e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 419, 420, 1, 24, 0x4f48065f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 420, 421, 1, 24, 0x5408069f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 421, 422, 1, 24, 0x58c806df, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 422, 423, 1, 24, 0x5d88071f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 423, 424, 1, 24, 0x4f5c0660, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 424, 425, 1, 24, 0x541c06a0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 425, 426, 1, 24, 0x58dc06e0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 426, 427, 1, 24, 0x5d9c0720, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 427, 428, 1, 24, 0x4f700661, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 428, 429, 1, 24, 0x543006a1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 429, 430, 1, 24, 0x58f006e1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 430, 431, 1, 24, 0x5db00721, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 431, 432, 1, 24, 0x4f840662, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 432, 433, 1, 24, 0x544406a2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 433, 434, 1, 24, 0x590406e2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 434, 435, 1, 24, 0x5dc40722, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 435, 436, 1, 24, 0x4f980663, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 436, 437, 1, 24, 0x545806a3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 437, 438, 1, 24, 0x591806e3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 438, 439, 1, 24, 0x5dd80723, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 439, 440, 1, 24, 0x4fac0664, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 440, 441, 1, 24, 0x546c06a4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 441, 442, 1, 24, 0x592c06e4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 442, 443, 1, 24, 0x5dec0724, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 443, 444, 1, 24, 0x4fc00665, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 444, 445, 1, 24, 0x548006a5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 445, 446, 1, 24, 0x594006e5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 446, 447, 1, 24, 0x5e000725, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 447, 448, 1, 24, 0x4fd40666, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 448, 449, 1, 24, 0x549406a6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 449, 450, 1, 24, 0x595406e6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 450, 451, 1, 24, 0x5e140726, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 451, 452, 1, 24, 0x4fe80667, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 452, 453, 1, 24, 0x54a806a7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 453, 454, 1, 24, 0x596806e7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 454, 455, 1, 24, 0x5e280727, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 455, 456, 1, 24, 0x4ffc0668, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 456, 457, 1, 24, 0x54bc06a8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 457, 458, 1, 24, 0x597c06e8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 458, 459, 1, 24, 0x5e3c0728, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 459, 460, 1, 24, 0x50100669, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 460, 461, 1, 24, 0x54d006a9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 461, 462, 1, 24, 0x599006e9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 462, 463, 1, 24, 0x5e500729, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 463, 464, 1, 24, 0x5024066a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 464, 465, 1, 24, 0x54e406aa, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 465, 466, 1, 24, 0x59a406ea, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 466, 467, 1, 24, 0x5e64072a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 467, 468, 1, 24, 0x5038066b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 468, 469, 1, 24, 0x54f806ab, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 469, 470, 1, 24, 0x59b806eb, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 470, 471, 1, 24, 0x5e78072b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 471, 472, 1, 24, 0x504c066c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 472, 473, 1, 24, 0x550c06ac, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 473, 474, 1, 24, 0x59cc06ec, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 474, 475, 1, 24, 0x5e8c072c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 475, 476, 1, 24, 0x5060066d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 476, 477, 1, 24, 0x552006ad, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 477, 478, 1, 24, 0x59e006ed, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 478, 479, 1, 24, 0x5ea0072d, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 479, 480, 1, 24, 0x5074066e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 480, 481, 1, 24, 0x553406ae, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 481, 482, 1, 24, 0x59f406ee, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 482, 483, 1, 24, 0x5eb4072e, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 483, 484, 1, 24, 0x5088066f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 484, 485, 1, 24, 0x554806af, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 485, 486, 1, 24, 0x5a0806ef, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 486, 487, 1, 24, 0x5ec8072f, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 487, 488, 1, 24, 0x509c0670, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 488, 489, 1, 24, 0x555c06b0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 489, 490, 1, 24, 0x5a1c06f0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 490, 491, 1, 24, 0x5edc0730, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 491, 492, 1, 24, 0x50b00671, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 492, 493, 1, 24, 0x557006b1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 493, 494, 1, 24, 0x5a3006f1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 494, 495, 1, 24, 0x5ef00731, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 495, 496, 1, 24, 0x50c40672, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 496, 497, 1, 24, 0x558406b2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 497, 498, 1, 24, 0x5a4406f2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 498, 499, 1, 24, 0x5f040732, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 499, 500, 1, 24, 0x50d80673, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 500, 501, 1, 24, 0x559806b3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 501, 502, 1, 24, 0x5a5806f3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 502, 503, 1, 24, 0x5f180733, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 503, 504, 1, 24, 0x50ec0674, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 504, 505, 1, 24, 0x55ac06b4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 505, 506, 1, 24, 0x5a6c06f4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 506, 507, 1, 24, 0x5f2c0734, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 507, 508, 1, 24, 0x51000675, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 508, 509, 1, 24, 0x55c006b5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 509, 510, 1, 24, 0x5a8006f5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 510, 511, 1, 24, 0x5f400735, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 511, 512, 1, 24, 0x51140676, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 512, 513, 1, 24, 0x55d406b6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 513, 514, 1, 24, 0x5a9406f6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 514, 515, 1, 24, 0x5f540736, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 515, 516, 1, 24, 0x51280677, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 516, 517, 1, 24, 0x55e806b7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 517, 518, 1, 24, 0x5aa806f7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 518, 519, 1, 24, 0x5f680737, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 519, 520, 1, 24, 0x513c0678, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 520, 521, 1, 24, 0x55fc06b8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 521, 522, 1, 24, 0x5abc06f8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 522, 523, 1, 24, 0x5f7c0738, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 523, 524, 1, 24, 0x51500679, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 524, 525, 1, 24, 0x561006b9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 525, 526, 1, 57, 0x896e0f04, S=1, Quality stats, 8, 0x05ec00be
+0, 526, 527, 1, 24, 0x4f1c0660, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 527, 528, 1, 24, 0x53dc06a0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 528, 529, 1, 24, 0x589c06e0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 529, 530, 1, 24, 0x4a700621, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 530, 531, 1, 24, 0x4f300661, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 531, 532, 1, 24, 0x53f006a1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 532, 533, 1, 24, 0x58b006e1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 533, 534, 1, 24, 0x4a840622, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 534, 535, 1, 24, 0x4f440662, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 535, 536, 1, 24, 0x540406a2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 536, 537, 1, 24, 0x58c406e2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 537, 538, 1, 24, 0x4a980623, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 538, 539, 1, 24, 0x4f580663, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 539, 540, 1, 24, 0x541806a3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 540, 541, 1, 24, 0x58d806e3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 541, 542, 1, 24, 0x4aac0624, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 542, 543, 1, 24, 0x4f6c0664, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 543, 544, 1, 24, 0x542c06a4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 544, 545, 1, 24, 0x58ec06e4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 545, 546, 1, 24, 0x4ac00625, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 546, 547, 1, 24, 0x4f800665, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 547, 548, 1, 24, 0x544006a5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 548, 549, 1, 24, 0x590006e5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 549, 550, 1, 24, 0x4ad40626, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 550, 551, 1, 24, 0x4f940666, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 551, 552, 1, 24, 0x545406a6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 552, 553, 1, 24, 0x591406e6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 553, 554, 1, 24, 0x4ae80627, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 554, 555, 1, 24, 0x4fa80667, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 555, 556, 1, 24, 0x546806a7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 556, 557, 1, 24, 0x592806e7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 557, 558, 1, 24, 0x4afc0628, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 558, 559, 1, 24, 0x4fbc0668, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 559, 560, 1, 24, 0x547c06a8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 560, 561, 1, 24, 0x593c06e8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 561, 562, 1, 24, 0x4b100629, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 562, 563, 1, 24, 0x4fd00669, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 563, 564, 1, 24, 0x549006a9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 564, 565, 1, 24, 0x595006e9, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 565, 566, 1, 24, 0x4b24062a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 566, 567, 1, 24, 0x4fe4066a, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 567, 568, 1, 24, 0x54a406aa, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 568, 569, 1, 24, 0x596406ea, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 569, 570, 1, 24, 0x4b38062b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 570, 571, 1, 24, 0x4ff8066b, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 571, 572, 1, 24, 0x54b806ab, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 572, 573, 1, 24, 0x597806eb, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 573, 574, 1, 24, 0x4b4c062c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 574, 575, 1, 24, 0x500c066c, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 575, 576, 1, 57, 0x901d0f3f, S=1, Quality stats, 8, 0x05ec00be
+0, 576, 577, 1, 24, 0x4f1c0660, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 577, 578, 1, 24, 0x53dc06a0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 578, 579, 1, 24, 0x589c06e0, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 579, 580, 1, 24, 0x4a700621, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 580, 581, 1, 24, 0x4f300661, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 581, 582, 1, 24, 0x53f006a1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 582, 583, 1, 24, 0x58b006e1, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 583, 584, 1, 24, 0x4a840622, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 584, 585, 1, 24, 0x4f440662, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 585, 586, 1, 24, 0x540406a2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 586, 587, 1, 24, 0x58c406e2, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 587, 588, 1, 24, 0x4a980623, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 588, 589, 1, 24, 0x4f580663, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 589, 590, 1, 24, 0x541806a3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 590, 591, 1, 24, 0x58d806e3, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 591, 592, 1, 24, 0x4aac0624, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 592, 593, 1, 24, 0x4f6c0664, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 593, 594, 1, 24, 0x542c06a4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 594, 595, 1, 24, 0x58ec06e4, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 595, 596, 1, 24, 0x4ac00625, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 596, 597, 1, 24, 0x4f800665, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 597, 598, 1, 24, 0x544006a5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 598, 599, 1, 24, 0x590006e5, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 599, 600, 1, 24, 0x4ad40626, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 600, 601, 1, 24, 0x4f940666, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 601, 602, 1, 24, 0x545406a6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 602, 603, 1, 24, 0x591406e6, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 603, 604, 1, 24, 0x4ae80627, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 604, 605, 1, 24, 0x4fa80667, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 605, 606, 1, 24, 0x546806a7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 606, 607, 1, 24, 0x592806e7, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 607, 608, 1, 24, 0x4afc0628, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 608, 609, 1, 24, 0x4fbc0668, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 609, 610, 1, 24, 0x547c06a8, F=0x0, S=1, Quality stats, 8, 0x076800ee
+0, 610, 611, 1, 24, 0x593c06e8, F=0x0, S=1, Quality stats, 8, 0x076800ee
diff --git a/tests/ref/fate/gapless-mp3 b/tests/ref/fate/gapless-mp3
index 578db55534e..98f6936c66c 100644
--- a/tests/ref/fate/gapless-mp3
+++ b/tests/ref/fate/gapless-mp3
@@ -1,5 +1,5 @@
-d7e884aea266b63f1547f1ad10188c08 *tests/data/fate/gapless-mp3.out-1
+893b264ed688f8433d4f39f5f97aba2d *tests/data/fate/gapless-mp3.out-1
c96c3ae7bd3300fd2f4debac222de5b7
-75bc539914297a191f40af2d737d7380 *tests/data/fate/gapless-mp3.out-2
+6a87144f2777524625af4cf276b058d9 *tests/data/fate/gapless-mp3.out-2
c96c3ae7bd3300fd2f4debac222de5b7
-ab21e0bd0c2d84426153d4cde919a1e3 *tests/data/fate/gapless-mp3.out-3
+dc29c4091e880bbb352c668b84824ca7 *tests/data/fate/gapless-mp3.out-3
diff --git a/tests/ref/fate/h264_redundant_pps-side_data b/tests/ref/fate/h264_redundant_pps-side_data
index c1c00eebaec..8633792d8ff 100644
--- a/tests/ref/fate/h264_redundant_pps-side_data
+++ b/tests/ref/fate/h264_redundant_pps-side_data
@@ -6,7 +6,7 @@ a35cca13c3f91d1a279bf576b8264d05 *tests/data/fate/h264_redundant_pps-side_data.n
#codec_id 0: h264
#dimensions 0: 1920x1080
#sar 0: 0/1
-0, -2002, 0, 2002, 247959, 0xdb721881, S=1, 34
+0, -2002, 0, 2002, 247959, 0xdb721881, S=1, New Extradata, 34, 0x850408e3
0, 0, 4004, 2002, 43356, 0xa366eb79, F=0x0
0, 2002, 2002, 2002, 11423, 0x9c0a86fa, F=0x0
0, 4004, 8008, 2002, 50801, 0xfbfe860d, F=0x0
diff --git a/tests/ref/fate/id3v2-priv-remux b/tests/ref/fate/id3v2-priv-remux
index a0f370142e2..c732f36ae29 100644
--- a/tests/ref/fate/id3v2-priv-remux
+++ b/tests/ref/fate/id3v2-priv-remux
@@ -5,7 +5,7 @@ bb2816e3a05ce136e9ac14479c1ebe24 *tests/data/fate/id3v2-priv-remux.mp3
#codec_id 0: mp3
#sample_rate 0: 48000
#channel_layout_name 0: mono
-0, -155528, -155528, 338688, 192, 0x3774510e, S=1, 10
+0, -155528, -155528, 338688, 192, 0x3774510e, S=1, Skip Samples, 10, 0x00bc0013
0, 183160, 183160, 338688, 192, 0x856c5b02
0, 521848, 521848, 338688, 192, 0xb86e557f
0, 860536, 860536, 338688, 192, 0x3b6c5cb7
diff --git a/tests/ref/fate/matroska-hdr10-plus-remux b/tests/ref/fate/matroska-hdr10-plus-remux
index 923fd2a7abe..9ed3cb00e7c 100644
--- a/tests/ref/fate/matroska-hdr10-plus-remux
+++ b/tests/ref/fate/matroska-hdr10-plus-remux
@@ -5,7 +5,7 @@
#codec_id 0: vp9
#dimensions 0: 1280x720
#sar 0: 1/1
-0, 0, 0, 40, 13350, 0x5f64e443, S=1, 11304
+0, 0, 0, 40, 13350, 0x5f64e443, S=1, HDR10+ Dynamic Metadata (SMPTE 2094-40), 11304, 0xf822276d
[PACKET]
codec_type=video
stream_index=0
diff --git a/tests/ref/fate/matroska-ogg-opus-remux b/tests/ref/fate/matroska-ogg-opus-remux
index bf6613e2573..1ea6ce3b4d1 100644
--- a/tests/ref/fate/matroska-ogg-opus-remux
+++ b/tests/ref/fate/matroska-ogg-opus-remux
@@ -46,7 +46,7 @@
0, 733, 733, 20, 219, 0xe2906c62
0, 753, 753, 20, 217, 0xcf316ba1
0, 773, 773, 20, 217, 0x470b6eea
-0, 793, 793, 20, 359, 0x36c2a18a, S=1, 10
+0, 793, 793, 20, 359, 0x36c2a18a, S=1, Skip Samples, 10, 0x0232005e
[PACKET]
codec_type=audio
stream_index=0
diff --git a/tests/ref/fate/matroska-opus-remux b/tests/ref/fate/matroska-opus-remux
index 9f2526dc575..9e1284a9ecd 100644
--- a/tests/ref/fate/matroska-opus-remux
+++ b/tests/ref/fate/matroska-opus-remux
@@ -57,7 +57,7 @@ b9881205f8945fefc16a6f23474071a6 *tests/data/fate/matroska-opus-remux.matroska
0, 954, 954, 20, 154, 0x9a084dcd
0, 974, 974, 20, 155, 0x90a54ac8
0, 994, 994, 20, 324, 0x8e34a2f5
-0, 1014, 1014, 20, 268, 0x10f37203, S=1, 10
+0, 1014, 1014, 20, 268, 0x10f37203, S=1, Skip Samples, 10, 0x049600c4
[PACKET]
codec_type=audio
stream_index=0
diff --git a/tests/ref/fate/matroska-vp8-alpha-remux b/tests/ref/fate/matroska-vp8-alpha-remux
index 03bb01fdb71..28c6343f2d4 100644
--- a/tests/ref/fate/matroska-vp8-alpha-remux
+++ b/tests/ref/fate/matroska-vp8-alpha-remux
@@ -5,13 +5,13 @@
#codec_id 0: vp8
#dimensions 0: 320x213
#sar 0: 1/1
-0, 0, 0, 33, 2108, 0x59b92a34, S=1, 1900
-0, 32, 32, 33, 142, 0x2f2a3fed, F=0x0, S=1, 160
-0, 65, 65, 33, 157, 0x17804767, F=0x0, S=1, 209
-0, 99, 99, 33, 206, 0x537262ca, F=0x0, S=1, 317
-0, 132, 132, 33, 259, 0x73ff74b6, F=0x0, S=1, 384
-0, 165, 165, 33, 320, 0x0fcf8ce4, F=0x0, S=1, 415
-0, 199, 199, 33, 377, 0x8fffb5f5, F=0x0, S=1, 475
+0, 0, 0, 33, 2108, 0x59b92a34, S=1, Matroska BlockAdditional, 1900, 0x8fb3adc5
+0, 32, 32, 33, 142, 0x2f2a3fed, F=0x0, S=1, Matroska BlockAdditional, 160, 0xa13346af
+0, 65, 65, 33, 157, 0x17804767, F=0x0, S=1, Matroska BlockAdditional, 209, 0x64115f15
+0, 99, 99, 33, 206, 0x537262ca, F=0x0, S=1, Matroska BlockAdditional, 317, 0x44a09dd0
+0, 132, 132, 33, 259, 0x73ff74b6, F=0x0, S=1, Matroska BlockAdditional, 384, 0x2ee2c588
+0, 165, 165, 33, 320, 0x0fcf8ce4, F=0x0, S=1, Matroska BlockAdditional, 415, 0xff68c953
+0, 199, 199, 33, 377, 0x8fffb5f5, F=0x0, S=1, Matroska BlockAdditional, 475, 0x4166f3eb
[STREAM]
DISPOSITION:default=1
DISPOSITION:dub=0
diff --git a/tests/ref/fate/mov-cover-image b/tests/ref/fate/mov-cover-image
index 6be45074916..0607d56a0ce 100644
--- a/tests/ref/fate/mov-cover-image
+++ b/tests/ref/fate/mov-cover-image
@@ -16,7 +16,7 @@
#codec_id 2: png
#dimensions 2: 600x600
#sar 2: 1/1
-0, -2112, -2112, 1024, 6, 0x027e00e8, F=0x5, S=1, 10
+0, -2112, -2112, 1024, 6, 0x027e00e8, F=0x5, S=1, Skip Samples, 10, 0x02c80048
0, -1088, -1088, 1024, 6, 0x027e00e8, F=0x5
0, -64, -64, 1024, 6, 0x027e00e8
1, 0, 0, 0, 25441, 0xe82503b0
diff --git a/tests/ref/fate/segment-mp4-to-ts b/tests/ref/fate/segment-mp4-to-ts
index 54b59a09cc1..642d2a9fc94 100644
--- a/tests/ref/fate/segment-mp4-to-ts
+++ b/tests/ref/fate/segment-mp4-to-ts
@@ -4,129 +4,129 @@
#codec_id 0: h264
#dimensions 0: 640x360
#sar 0: 1/1
-0, -7200, 0, 3600, 22630, 0xee579541, S=1, 1
-0, -3600, 14400, 3600, 4021, 0xbf7cdb02, F=0x0, S=1, 1
-0, 0, 7200, 3600, 1096, 0x4f162690, F=0x0, S=1, 1
-0, 3600, 3600, 3600, 687, 0x00394b95, F=0x0, S=1, 1
-0, 7200, 10800, 3600, 445, 0x08c3d065, F=0x0, S=1, 1
-0, 10800, 28800, 3600, 4212, 0x56d12b8f, F=0x0, S=1, 1
-0, 14400, 21600, 3600, 1117, 0xd521260b, F=0x0, S=1, 1
-0, 18000, 18000, 3600, 892, 0x4262bdbc, F=0x0, S=1, 1
-0, 21600, 25200, 3600, 480, 0x3be1ef0b, F=0x0, S=1, 1
-0, 25200, 43200, 3600, 4065, 0x40dee237, F=0x0, S=1, 1
-0, 28800, 36000, 3600, 962, 0x31a4ceb1, F=0x0, S=1, 1
-0, 32400, 32400, 3600, 651, 0xb2aa317a, F=0x0, S=1, 1
-0, 36000, 39600, 3600, 543, 0x9c4e0024, F=0x0, S=1, 1
-0, 39600, 57600, 3600, 4221, 0x77c23977, F=0x0, S=1, 1
-0, 43200, 50400, 3600, 1040, 0x482cfa34, F=0x0, S=1, 1
-0, 46800, 46800, 3600, 576, 0x2686136a, F=0x0, S=1, 1
-0, 50400, 54000, 3600, 607, 0xc53c2339, F=0x0, S=1, 1
-0, 54000, 72000, 3600, 4755, 0x2f642b58, F=0x0, S=1, 1
-0, 57600, 64800, 3600, 1182, 0xbe1a4847, F=0x0, S=1, 1
-0, 61200, 61200, 3600, 809, 0x8d948a4e, F=0x0, S=1, 1
-0, 64800, 68400, 3600, 656, 0x4fa03c2b, F=0x0, S=1, 1
-0, 68400, 86400, 3600, 26606, 0x0f75c37d, S=1, 1
-0, 72000, 79200, 3600, 1141, 0x761b31e8, F=0x0, S=1, 1
-0, 75600, 75600, 3600, 717, 0x57746351, F=0x0, S=1, 1
-0, 79200, 82800, 3600, 693, 0x78b24263, F=0x0, S=1, 1
-0, 82800, 100800, 3600, 3417, 0x560dbc89, F=0x0, S=1, 1
-0, 86400, 93600, 3600, 1128, 0xc0f1383c, F=0x0, S=1, 1
-0, 90000, 90000, 3600, 650, 0xc3ad485e, F=0x0, S=1, 1
-0, 93600, 97200, 3600, 766, 0xd3e9757d, F=0x0, S=1, 1
-0, 97200, 115200, 3600, 4268, 0xec1235b5, F=0x0, S=1, 1
-0, 100800, 108000, 3600, 1119, 0x65f51fb7, F=0x0, S=1, 1
-0, 104400, 104400, 3600, 766, 0x213b78d3, F=0x0, S=1, 1
-0, 108000, 111600, 3600, 770, 0xa7537e6d, F=0x0, S=1, 1
-0, 111600, 129600, 3600, 6349, 0xec225cf9, F=0x0, S=1, 1
-0, 115200, 122400, 3600, 1188, 0x9dea396c, F=0x0, S=1, 1
-0, 118800, 118800, 3600, 805, 0xdd9e88d0, F=0x0, S=1, 1
-0, 122400, 126000, 3600, 752, 0x1f93730a, F=0x0, S=1, 1
-0, 126000, 144000, 3600, 5502, 0x501bda5c, F=0x0, S=1, 1
-0, 129600, 136800, 3600, 1240, 0x7e3661ea, F=0x0, S=1, 1
-0, 133200, 133200, 3600, 830, 0xa8249f38, F=0x0, S=1, 1
-0, 136800, 140400, 3600, 754, 0xab1c815e, F=0x0, S=1, 1
-0, 140400, 158400, 3600, 5328, 0xd2c55ac6, F=0x0, S=1, 1
-0, 144000, 151200, 3600, 1271, 0x46006870, F=0x0, S=1, 1
-0, 147600, 147600, 3600, 849, 0x94dc99c7, F=0x2, S=1, 1
-0, 151200, 154800, 3600, 753, 0xf4236cab, F=0x0, S=1, 1
-0, 154800, 172800, 3600, 25876, 0xb4305be7, S=1, 1
-0, 158400, 165600, 3600, 1206, 0x8ce84344, F=0x0, S=1, 1
-0, 162000, 162000, 3600, 867, 0x312fa07d, F=0x0, S=1, 1
-0, 165600, 169200, 3600, 719, 0x810666d1, F=0x0, S=1, 1
-0, 169200, 187200, 3600, 3786, 0xa96a6825, F=0x0, S=1, 1
-0, 172800, 180000, 3600, 1187, 0x77e649a2, F=0x0, S=1, 1
-0, 176400, 176400, 3600, 750, 0x86da6d2e, F=0x0, S=1, 1
-0, 180000, 183600, 3600, 815, 0xf09a9881, F=0x0, S=1, 1
-0, 183600, 201600, 3600, 5275, 0xee3450bb, F=0x0, S=1, 1
-0, 187200, 194400, 3600, 1352, 0x150a96e1, F=0x0, S=1, 1
-0, 190800, 190800, 3600, 877, 0x6062a120, F=0x0, S=1, 1
-0, 194400, 198000, 3600, 829, 0x5180988c, F=0x0, S=1, 1
-0, 198000, 216000, 3600, 4421, 0x623aad33, F=0x0, S=1, 1
-0, 201600, 208800, 3600, 1464, 0xd34dc851, F=0x0, S=1, 1
-0, 205200, 205200, 3600, 903, 0xf63bbed0, F=0x0, S=1, 1
-0, 208800, 212400, 3600, 717, 0xc17054b8, F=0x0, S=1, 1
-0, 212400, 230400, 3600, 4787, 0x75e9400e, F=0x0, S=1, 1
-0, 216000, 223200, 3600, 1435, 0xb01ccabb, F=0x0, S=1, 1
-0, 219600, 219600, 3600, 851, 0x54bda291, F=0x0, S=1, 1
-0, 223200, 226800, 3600, 809, 0x84e37fee, F=0x0, S=1, 1
-0, 226800, 244800, 3600, 4541, 0xd4e5c0de, F=0x0, S=1, 1
-0, 230400, 237600, 3600, 1545, 0x0099fc98, F=0x0, S=1, 1
-0, 234000, 234000, 3600, 929, 0xfd72d049, F=0x2, S=1, 1
-0, 237600, 241200, 3600, 829, 0xcfda9e96, F=0x0, S=1, 1
-0, 241200, 259200, 3600, 24271, 0x9c472b6a, S=1, 1
-0, 244800, 252000, 3600, 1422, 0xcde6cc34, F=0x0, S=1, 1
-0, 248400, 248400, 3600, 883, 0xedacbe25, F=0x0, S=1, 1
-0, 252000, 255600, 3600, 768, 0x89d774bc, F=0x0, S=1, 1
-0, 255600, 273600, 3600, 3802, 0xea1d70d4, F=0x0, S=1, 1
-0, 259200, 266400, 3600, 1284, 0x2c927097, F=0x0, S=1, 1
-0, 262800, 262800, 3600, 745, 0x81076a7f, F=0x0, S=1, 1
-0, 266400, 270000, 3600, 931, 0x3675dbfe, F=0x0, S=1, 1
-0, 270000, 288000, 3600, 4830, 0x7a807a68, F=0x0, S=1, 1
-0, 273600, 280800, 3600, 1446, 0x6224bc81, F=0x0, S=1, 1
-0, 277200, 277200, 3600, 833, 0x56f78ae2, F=0x0, S=1, 1
-0, 280800, 284400, 3600, 873, 0x9caeaf00, F=0x0, S=1, 1
-0, 284400, 302400, 3600, 5167, 0x1703151f, F=0x0, S=1, 1
-0, 288000, 295200, 3600, 1449, 0x0881b0d6, F=0x0, S=1, 1
-0, 291600, 291600, 3600, 866, 0x0bffa719, F=0x0, S=1, 1
-0, 295200, 298800, 3600, 874, 0xc243a65f, F=0x0, S=1, 1
-0, 298800, 316800, 3600, 5426, 0x7c899c30, F=0x0, S=1, 1
-0, 302400, 309600, 3600, 1574, 0x03b00f0d, F=0x0, S=1, 1
-0, 306000, 306000, 3600, 860, 0x65cea74e, F=0x0, S=1, 1
-0, 309600, 313200, 3600, 829, 0xffd795cd, F=0x0, S=1, 1
-0, 313200, 331200, 3600, 5352, 0x59997996, F=0x0, S=1, 1
-0, 316800, 324000, 3600, 1501, 0xb3b8f001, F=0x0, S=1, 1
-0, 320400, 320400, 3600, 941, 0x92b0cb18, F=0x2, S=1, 1
-0, 324000, 327600, 3600, 823, 0x3d548355, F=0x0, S=1, 1
-0, 327600, 345600, 3600, 24093, 0xcc0ba2f4, S=1, 1
-0, 331200, 338400, 3600, 1582, 0x4f5d1049, F=0x0, S=1, 1
-0, 334800, 334800, 3600, 945, 0x4f3cc9e8, F=0x0, S=1, 1
-0, 338400, 342000, 3600, 815, 0x0ca790a4, F=0x0, S=1, 1
-0, 342000, 360000, 3600, 4425, 0x1db2a088, F=0x0, S=1, 1
-0, 345600, 352800, 3600, 1492, 0x881ce798, F=0x0, S=1, 1
-0, 349200, 349200, 3600, 905, 0xbdd9c278, F=0x0, S=1, 1
-0, 352800, 356400, 3600, 870, 0x64fbb0e1, F=0x0, S=1, 1
-0, 356400, 374400, 3600, 5194, 0x138b1e1d, F=0x0, S=1, 1
-0, 360000, 367200, 3600, 1483, 0xc5c9d717, F=0x0, S=1, 1
-0, 363600, 363600, 3600, 977, 0x3648d9fc, F=0x0, S=1, 1
-0, 367200, 370800, 3600, 834, 0x6c5d8969, F=0x0, S=1, 1
-0, 370800, 388800, 3600, 6956, 0x6a548e0b, F=0x0, S=1, 1
-0, 374400, 381600, 3600, 1187, 0x795f4163, F=0x0, S=1, 1
-0, 378000, 378000, 3600, 925, 0x92bfc2fb, F=0x0, S=1, 1
-0, 381600, 385200, 3600, 747, 0xea9978fc, F=0x0, S=1, 1
-0, 385200, 403200, 3600, 5005, 0xc558c189, F=0x0, S=1, 1
-0, 388800, 396000, 3600, 452, 0x7d92d9d8, F=0x0, S=1, 1
-0, 392400, 392400, 3600, 784, 0xfd597a5f, F=0x0, S=1, 1
-0, 396000, 399600, 3600, 199, 0x79b06355, F=0x0, S=1, 1
-0, 399600, 417600, 3600, 1862, 0x22a2a06c, F=0x0, S=1, 1
-0, 403200, 410400, 3600, 359, 0x11bdae52, F=0x0, S=1, 1
-0, 406800, 406800, 3600, 235, 0xbec26964, F=0x2, S=1, 1
-0, 410400, 414000, 3600, 221, 0x8380682c, F=0x0, S=1, 1
-0, 414000, 432000, 3600, 22639, 0x1809fe6b, S=1, 1
-0, 417600, 424800, 3600, 383, 0x4f3bb571, F=0x0, S=1, 1
-0, 421200, 421200, 3600, 257, 0x22e87802, F=0x0, S=1, 1
-0, 424800, 428400, 3600, 261, 0xdb988134, F=0x0, S=1, 1
-0, 428400, 435600, 3600, 156, 0xd2c3406c, F=0x0, S=1, 1
-0, 432000, 439200, 3600, 330, 0x150d9b60, F=0x0, S=1, 1
-0, 435600, 446400, 3600, 324, 0x558194ee, F=0x0, S=1, 1
-0, 439200, 442800, 3600, 191, 0x108e54d1, F=0x0, S=1, 1
+0, -7200, 0, 3600, 22630, 0xee579541, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, -3600, 14400, 3600, 4021, 0xbf7cdb02, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 0, 7200, 3600, 1096, 0x4f162690, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 3600, 3600, 3600, 687, 0x00394b95, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 7200, 10800, 3600, 445, 0x08c3d065, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 10800, 28800, 3600, 4212, 0x56d12b8f, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 14400, 21600, 3600, 1117, 0xd521260b, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 18000, 18000, 3600, 892, 0x4262bdbc, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 21600, 25200, 3600, 480, 0x3be1ef0b, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 25200, 43200, 3600, 4065, 0x40dee237, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 28800, 36000, 3600, 962, 0x31a4ceb1, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 32400, 32400, 3600, 651, 0xb2aa317a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 36000, 39600, 3600, 543, 0x9c4e0024, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 39600, 57600, 3600, 4221, 0x77c23977, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 43200, 50400, 3600, 1040, 0x482cfa34, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 46800, 46800, 3600, 576, 0x2686136a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 50400, 54000, 3600, 607, 0xc53c2339, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 54000, 72000, 3600, 4755, 0x2f642b58, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 57600, 64800, 3600, 1182, 0xbe1a4847, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 61200, 61200, 3600, 809, 0x8d948a4e, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 64800, 68400, 3600, 656, 0x4fa03c2b, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 68400, 86400, 3600, 26606, 0x0f75c37d, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 72000, 79200, 3600, 1141, 0x761b31e8, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 75600, 75600, 3600, 717, 0x57746351, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 79200, 82800, 3600, 693, 0x78b24263, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 82800, 100800, 3600, 3417, 0x560dbc89, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 86400, 93600, 3600, 1128, 0xc0f1383c, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 90000, 90000, 3600, 650, 0xc3ad485e, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 93600, 97200, 3600, 766, 0xd3e9757d, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 97200, 115200, 3600, 4268, 0xec1235b5, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 100800, 108000, 3600, 1119, 0x65f51fb7, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 104400, 104400, 3600, 766, 0x213b78d3, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 108000, 111600, 3600, 770, 0xa7537e6d, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 111600, 129600, 3600, 6349, 0xec225cf9, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 115200, 122400, 3600, 1188, 0x9dea396c, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 118800, 118800, 3600, 805, 0xdd9e88d0, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 122400, 126000, 3600, 752, 0x1f93730a, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 126000, 144000, 3600, 5502, 0x501bda5c, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 129600, 136800, 3600, 1240, 0x7e3661ea, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 133200, 133200, 3600, 830, 0xa8249f38, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 136800, 140400, 3600, 754, 0xab1c815e, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 140400, 158400, 3600, 5328, 0xd2c55ac6, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 144000, 151200, 3600, 1271, 0x46006870, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 147600, 147600, 3600, 849, 0x94dc99c7, F=0x2, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 151200, 154800, 3600, 753, 0xf4236cab, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 154800, 172800, 3600, 25876, 0xb4305be7, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 158400, 165600, 3600, 1206, 0x8ce84344, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 162000, 162000, 3600, 867, 0x312fa07d, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 165600, 169200, 3600, 719, 0x810666d1, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 169200, 187200, 3600, 3786, 0xa96a6825, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 172800, 180000, 3600, 1187, 0x77e649a2, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 176400, 176400, 3600, 750, 0x86da6d2e, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 180000, 183600, 3600, 815, 0xf09a9881, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 183600, 201600, 3600, 5275, 0xee3450bb, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 187200, 194400, 3600, 1352, 0x150a96e1, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 190800, 190800, 3600, 877, 0x6062a120, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 194400, 198000, 3600, 829, 0x5180988c, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 198000, 216000, 3600, 4421, 0x623aad33, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 201600, 208800, 3600, 1464, 0xd34dc851, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 205200, 205200, 3600, 903, 0xf63bbed0, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 208800, 212400, 3600, 717, 0xc17054b8, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 212400, 230400, 3600, 4787, 0x75e9400e, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 216000, 223200, 3600, 1435, 0xb01ccabb, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 219600, 219600, 3600, 851, 0x54bda291, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 223200, 226800, 3600, 809, 0x84e37fee, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 226800, 244800, 3600, 4541, 0xd4e5c0de, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 230400, 237600, 3600, 1545, 0x0099fc98, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 234000, 234000, 3600, 929, 0xfd72d049, F=0x2, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 237600, 241200, 3600, 829, 0xcfda9e96, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 241200, 259200, 3600, 24271, 0x9c472b6a, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 244800, 252000, 3600, 1422, 0xcde6cc34, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 248400, 248400, 3600, 883, 0xedacbe25, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 252000, 255600, 3600, 768, 0x89d774bc, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 255600, 273600, 3600, 3802, 0xea1d70d4, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 259200, 266400, 3600, 1284, 0x2c927097, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 262800, 262800, 3600, 745, 0x81076a7f, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 266400, 270000, 3600, 931, 0x3675dbfe, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 270000, 288000, 3600, 4830, 0x7a807a68, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 273600, 280800, 3600, 1446, 0x6224bc81, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 277200, 277200, 3600, 833, 0x56f78ae2, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 280800, 284400, 3600, 873, 0x9caeaf00, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 284400, 302400, 3600, 5167, 0x1703151f, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 288000, 295200, 3600, 1449, 0x0881b0d6, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 291600, 291600, 3600, 866, 0x0bffa719, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 295200, 298800, 3600, 874, 0xc243a65f, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 298800, 316800, 3600, 5426, 0x7c899c30, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 302400, 309600, 3600, 1574, 0x03b00f0d, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 306000, 306000, 3600, 860, 0x65cea74e, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 309600, 313200, 3600, 829, 0xffd795cd, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 313200, 331200, 3600, 5352, 0x59997996, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 316800, 324000, 3600, 1501, 0xb3b8f001, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 320400, 320400, 3600, 941, 0x92b0cb18, F=0x2, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 324000, 327600, 3600, 823, 0x3d548355, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 327600, 345600, 3600, 24093, 0xcc0ba2f4, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 331200, 338400, 3600, 1582, 0x4f5d1049, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 334800, 334800, 3600, 945, 0x4f3cc9e8, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 338400, 342000, 3600, 815, 0x0ca790a4, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 342000, 360000, 3600, 4425, 0x1db2a088, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 345600, 352800, 3600, 1492, 0x881ce798, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 349200, 349200, 3600, 905, 0xbdd9c278, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 352800, 356400, 3600, 870, 0x64fbb0e1, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 356400, 374400, 3600, 5194, 0x138b1e1d, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 360000, 367200, 3600, 1483, 0xc5c9d717, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 363600, 363600, 3600, 977, 0x3648d9fc, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 367200, 370800, 3600, 834, 0x6c5d8969, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 370800, 388800, 3600, 6956, 0x6a548e0b, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 374400, 381600, 3600, 1187, 0x795f4163, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 378000, 378000, 3600, 925, 0x92bfc2fb, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 381600, 385200, 3600, 747, 0xea9978fc, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 385200, 403200, 3600, 5005, 0xc558c189, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 388800, 396000, 3600, 452, 0x7d92d9d8, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 392400, 392400, 3600, 784, 0xfd597a5f, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 396000, 399600, 3600, 199, 0x79b06355, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 399600, 417600, 3600, 1862, 0x22a2a06c, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 403200, 410400, 3600, 359, 0x11bdae52, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 406800, 406800, 3600, 235, 0xbec26964, F=0x2, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 410400, 414000, 3600, 221, 0x8380682c, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 414000, 432000, 3600, 22639, 0x1809fe6b, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 417600, 424800, 3600, 383, 0x4f3bb571, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 421200, 421200, 3600, 257, 0x22e87802, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 424800, 428400, 3600, 261, 0xdb988134, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 428400, 435600, 3600, 156, 0xd2c3406c, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 432000, 439200, 3600, 330, 0x150d9b60, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 435600, 446400, 3600, 324, 0x558194ee, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
+0, 439200, 442800, 3600, 191, 0x108e54d1, F=0x0, S=1, MPEGTS Stream ID, 1, 0x00e000e0
0, 442800, 450000, 3600, 233, 0xac5b6486, F=0x0
diff --git a/tests/ref/fate/shortest b/tests/ref/fate/shortest
index 8961cab2d9d..3592b3f1f09 100644
--- a/tests/ref/fate/shortest
+++ b/tests/ref/fate/shortest
@@ -9,109 +9,109 @@
#sample_rate 1: 44100
#channel_layout_name 1: mono
1, -256, -256, 1536, 416, 0xcedecce4
-0, 0, 0, 1, 27867, 0x1426a0d6, S=1, 8
+0, 0, 0, 1, 27867, 0x1426a0d6, S=1, Quality stats, 8, 0x050000a1
1, 1280, 1280, 1536, 418, 0x4ebabf82
-0, 1, 1, 1, 9806, 0xbebc2826, F=0x0, S=1, 8
+0, 1, 1, 1, 9806, 0xbebc2826, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 2816, 2816, 1536, 418, 0xfad7bb69
-0, 2, 2, 1, 10453, 0x4a188450, F=0x0, S=1, 8
+0, 2, 2, 1, 10453, 0x4a188450, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 4352, 4352, 1536, 418, 0x0927c4d0
-0, 3, 3, 1, 10248, 0x4c831c08, F=0x0, S=1, 8
+0, 3, 3, 1, 10248, 0x4c831c08, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 5888, 5888, 1536, 418, 0x66e8cc96
-0, 4, 4, 1, 11680, 0x5508c44d, F=0x0, S=1, 8
+0, 4, 4, 1, 11680, 0x5508c44d, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 7424, 7424, 1536, 418, 0x6f2fbb2d
-0, 5, 5, 1, 11046, 0x096ca433, F=0x0, S=1, 8
+0, 5, 5, 1, 11046, 0x096ca433, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 8960, 8960, 1536, 418, 0xeb8fd747
1, 10496, 10496, 1536, 418, 0xeb3cc502
-0, 6, 6, 1, 9888, 0x440a5b45, F=0x0, S=1, 8
+0, 6, 6, 1, 9888, 0x440a5b45, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 12032, 12032, 1536, 418, 0xb9b2ccec
-0, 7, 7, 1, 10165, 0x116d4909, F=0x0, S=1, 8
+0, 7, 7, 1, 10165, 0x116d4909, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 13568, 13568, 1536, 418, 0x50fac2e5
-0, 8, 8, 1, 11704, 0xb334a24c, F=0x0, S=1, 8
+0, 8, 8, 1, 11704, 0xb334a24c, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 15104, 15104, 1536, 418, 0xa276ca76
-0, 9, 9, 1, 11059, 0x49aa6515, F=0x0, S=1, 8
+0, 9, 9, 1, 11059, 0x49aa6515, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 16640, 16640, 1536, 418, 0x11e1c91a
-0, 10, 10, 1, 8764, 0x8214fab0, F=0x0, S=1, 8
+0, 10, 10, 1, 8764, 0x8214fab0, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 18176, 18176, 1536, 418, 0x41eec2ee
-0, 11, 11, 1, 9328, 0x92987740, F=0x0, S=1, 8
+0, 11, 11, 1, 9328, 0x92987740, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 19712, 19712, 1536, 418, 0xa791c67c
-0, 12, 12, 1, 27955, 0xe25edb6c, S=1, 8
+0, 12, 12, 1, 27955, 0xe25edb6c, S=1, Quality stats, 8, 0x050000a1
1, 21248, 21248, 1536, 418, 0x9485bc1a
1, 22784, 22784, 1536, 418, 0x1afdc658
-0, 13, 13, 1, 11181, 0x3cf56687, F=0x0, S=1, 8
+0, 13, 13, 1, 11181, 0x3cf56687, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 24320, 24320, 1536, 418, 0xd79dbfe5
-0, 14, 14, 1, 12002, 0x87942530, F=0x0, S=1, 8
+0, 14, 14, 1, 12002, 0x87942530, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 25856, 25856, 1536, 418, 0x2085c28a
-0, 15, 15, 1, 10122, 0xbb10e8d9, F=0x0, S=1, 8
+0, 15, 15, 1, 10122, 0xbb10e8d9, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 27392, 27392, 1536, 418, 0x0ab9cc60
-0, 16, 16, 1, 9715, 0xa4a1325c, F=0x0, S=1, 8
+0, 16, 16, 1, 9715, 0xa4a1325c, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 28928, 28928, 1536, 418, 0xe7bfc22b
-0, 17, 17, 1, 11222, 0x15118a48, F=0x0, S=1, 8
+0, 17, 17, 1, 11222, 0x15118a48, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 30464, 30464, 1536, 418, 0xd782bcb8
-0, 18, 18, 1, 11384, 0xd4304391, F=0x0, S=1, 8
+0, 18, 18, 1, 11384, 0xd4304391, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 32000, 32000, 1536, 418, 0xd92dbd04
-0, 19, 19, 1, 9141, 0xabd1eb90, F=0x0, S=1, 8
+0, 19, 19, 1, 9141, 0xabd1eb90, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 33536, 33536, 1536, 418, 0x964fd01a
1, 35072, 35072, 1536, 418, 0x502ec400
-0, 20, 20, 1, 10049, 0x5b388bc2, F=0x0, S=1, 8
+0, 20, 20, 1, 10049, 0x5b388bc2, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 36608, 36608, 1536, 418, 0xc72dc10a
-0, 21, 21, 1, 9049, 0x214505c3, F=0x0, S=1, 8
+0, 21, 21, 1, 9049, 0x214505c3, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 38144, 38144, 1536, 418, 0xd254c694
-0, 22, 22, 1, 9101, 0xdba6e5ba, F=0x0, S=1, 8
+0, 22, 22, 1, 9101, 0xdba6e5ba, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 39680, 39680, 1536, 418, 0xdd6cc85c
-0, 23, 23, 1, 10351, 0x0aea5644, F=0x0, S=1, 8
+0, 23, 23, 1, 10351, 0x0aea5644, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 41216, 41216, 1536, 418, 0x62c5c754
-0, 24, 24, 1, 27864, 0xd0287877, S=1, 8
+0, 24, 24, 1, 27864, 0xd0287877, S=1, Quality stats, 8, 0x050000a1
1, 42752, 42752, 1536, 418, 0x5970ce11
-0, 25, 25, 1, 9026, 0x01ec7d47, F=0x0, S=1, 8
+0, 25, 25, 1, 9026, 0x01ec7d47, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 44288, 44288, 1536, 418, 0xffadb489
1, 45824, 45824, 1536, 418, 0x1246cae7
-0, 26, 26, 1, 8894, 0x5917d83b, F=0x0, S=1, 8
+0, 26, 26, 1, 8894, 0x5917d83b, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 47360, 47360, 1536, 418, 0xa74eb1f7
-0, 27, 27, 1, 10119, 0x3a2ede3a, F=0x0, S=1, 8
+0, 27, 27, 1, 10119, 0x3a2ede3a, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 48896, 48896, 1536, 418, 0x98cfc032
-0, 28, 28, 1, 10290, 0xea641449, F=0x0, S=1, 8
+0, 28, 28, 1, 10290, 0xea641449, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 50432, 50432, 1536, 418, 0x8045c0a7
-0, 29, 29, 1, 10922, 0xeb7e9700, F=0x0, S=1, 8
+0, 29, 29, 1, 10922, 0xeb7e9700, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 51968, 51968, 1536, 418, 0x2180c196
-0, 30, 30, 1, 9680, 0x929d1f59, F=0x0, S=1, 8
+0, 30, 30, 1, 9680, 0x929d1f59, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 53504, 53504, 1536, 418, 0x35f2b4d1
-0, 31, 31, 1, 8733, 0x8fa8fc4e, F=0x0, S=1, 8
+0, 31, 31, 1, 8733, 0x8fa8fc4e, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 55040, 55040, 1536, 418, 0x876ec74d
-0, 32, 32, 1, 9878, 0xe3f555e9, F=0x0, S=1, 8
+0, 32, 32, 1, 9878, 0xe3f555e9, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 56576, 56576, 1536, 418, 0xbccebddd
1, 58112, 58112, 1536, 418, 0x40a1bcc7
-0, 33, 33, 1, 10926, 0x2a2bed74, F=0x0, S=1, 8
+0, 33, 33, 1, 10926, 0x2a2bed74, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 59648, 59648, 1536, 418, 0xbd10bf09
-0, 34, 34, 1, 12170, 0x70c8ab23, F=0x0, S=1, 8
+0, 34, 34, 1, 12170, 0x70c8ab23, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 61184, 61184, 1536, 418, 0xb8e4b630
-0, 35, 35, 1, 11631, 0x7d5e8297, F=0x0, S=1, 8
+0, 35, 35, 1, 11631, 0x7d5e8297, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 62720, 62720, 1536, 418, 0xc667bd39
-0, 36, 36, 1, 28056, 0x10bef294, S=1, 8
+0, 36, 36, 1, 28056, 0x10bef294, S=1, Quality stats, 8, 0x050000a1
1, 64256, 64256, 1536, 418, 0x2985c4ac
-0, 37, 37, 1, 11067, 0x490af43b, F=0x0, S=1, 8
+0, 37, 37, 1, 11067, 0x490af43b, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 65792, 65792, 1536, 418, 0xb229b697
-0, 38, 38, 1, 11046, 0x6dba2441, F=0x0, S=1, 8
+0, 38, 38, 1, 11046, 0x6dba2441, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 67328, 67328, 1536, 418, 0xd2eec6d8
-0, 39, 39, 1, 10922, 0x069cfa74, F=0x0, S=1, 8
+0, 39, 39, 1, 10922, 0x069cfa74, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 68864, 68864, 1536, 418, 0x74a9c1a9
1, 70400, 70400, 1536, 418, 0x2d1cc383
-0, 40, 40, 1, 11477, 0x18baebc1, F=0x0, S=1, 8
+0, 40, 40, 1, 11477, 0x18baebc1, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 71936, 71936, 1536, 418, 0x0ad9c88a
-0, 41, 41, 1, 10285, 0x792623a6, F=0x0, S=1, 8
+0, 41, 41, 1, 10285, 0x792623a6, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 73472, 73472, 1536, 418, 0x9aa3d0a7
-0, 42, 42, 1, 9961, 0x69d8a3b1, F=0x0, S=1, 8
+0, 42, 42, 1, 9961, 0x69d8a3b1, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 75008, 75008, 1536, 416, 0x99f5b2b6
-0, 43, 43, 1, 11162, 0x6f3788c6, F=0x0, S=1, 8
+0, 43, 43, 1, 11162, 0x6f3788c6, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 76544, 76544, 1536, 418, 0xfb7dc20d
-0, 44, 44, 1, 10696, 0x524ad4f8, F=0x0, S=1, 8
+0, 44, 44, 1, 10696, 0x524ad4f8, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 78080, 78080, 1536, 418, 0xebc8c568
-0, 45, 45, 1, 10319, 0x9d6ff8f7, F=0x0, S=1, 8
+0, 45, 45, 1, 10319, 0x9d6ff8f7, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 79616, 79616, 1536, 418, 0x7361c949
-0, 46, 46, 1, 8796, 0xb0cc869e, F=0x0, S=1, 8
+0, 46, 46, 1, 8796, 0xb0cc869e, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 81152, 81152, 1536, 418, 0x85d8bbd0
1, 82688, 82688, 1536, 418, 0x72e8bad1
-0, 47, 47, 1, 8779, 0x2027399c, F=0x0, S=1, 8
+0, 47, 47, 1, 8779, 0x2027399c, F=0x0, S=1, Quality stats, 8, 0x050400a2
1, 84224, 84224, 1536, 418, 0x4febb56f
-0, 48, 48, 1, 28143, 0x1df268c5, S=1, 8
+0, 48, 48, 1, 28143, 0x1df268c5, S=1, Quality stats, 8, 0x050000a1
1, 85760, 85760, 1536, 418, 0xae06ca91
-0, 49, 49, 1, 10073, 0xedb9f031, F=0x0, S=1, 8
+0, 49, 49, 1, 10073, 0xedb9f031, F=0x0, S=1, Quality stats, 8, 0x050400a2
diff --git a/tests/ref/fate/webm-hdr10-plus-remux b/tests/ref/fate/webm-hdr10-plus-remux
index 04ab55e56fa..9180d395969 100644
--- a/tests/ref/fate/webm-hdr10-plus-remux
+++ b/tests/ref/fate/webm-hdr10-plus-remux
@@ -5,7 +5,7 @@
#codec_id 0: vp9
#dimensions 0: 1280x720
#sar 0: 1/1
-0, 0, 0, 40, 13350, 0x5f64e443, S=1, 11304
+0, 0, 0, 40, 13350, 0x5f64e443, S=1, HDR10+ Dynamic Metadata (SMPTE 2094-40), 11304, 0xf822276d
[PACKET]
codec_type=video
stream_index=0
diff --git a/tests/ref/fate/webm-webvtt-remux b/tests/ref/fate/webm-webvtt-remux
index baf4c296a0d..f00a04c24c7 100644
--- a/tests/ref/fate/webm-webvtt-remux
+++ b/tests/ref/fate/webm-webvtt-remux
@@ -16,20 +16,20 @@ c372c76c062d368f1d17373c19f83579 *tests/data/fate/webm-webvtt-remux.webm
1, 18000, 18000, 2000, 51, 0xc84211f5
0, 20000, 20000, 2000, 67, 0x3e2918c7
1, 20000, 20000, 2000, 67, 0x3e2918c7
-0, 22000, 22000, 2000, 29, 0x93f7098d, S=1, 3
-1, 22000, 22000, 2000, 29, 0x93f7098d, S=1, 3
+0, 22000, 22000, 2000, 29, 0x93f7098d, S=1, WebVTT ID, 3, 0x012a0096
+1, 22000, 22000, 2000, 29, 0x93f7098d, S=1, WebVTT ID, 3, 0x012a0096
0, 24000, 24000, 2000, 49, 0xb2d91196
1, 24000, 24000, 2000, 49, 0xb2d91196
-0, 27000, 27000, 3000, 99, 0xb750231a, S=1, 14
-1, 27000, 27000, 3000, 99, 0xb750231a, S=1, 14
-0, 30000, 30000, 1500, 36, 0xe7f70d87, S=1, 18
-1, 30000, 30000, 1500, 36, 0xe7f70d87, S=1, 18
-0, 30500, 30500, 2000, 112, 0x6961267d, S=1, 20
-1, 30500, 30500, 2000, 112, 0x6961267d, S=1, 20
-0, 32000, 32000, 3500, 58, 0x32d11382, S=1, 18
-1, 32000, 32000, 3500, 58, 0x32d11382, S=1, 18
-0, 32500, 32500, 1000, 36, 0xe6650c7c, S=1, 20
-1, 32500, 32500, 1000, 36, 0xe6650c7c, S=1, 20
+0, 27000, 27000, 3000, 99, 0xb750231a, S=1, WebVTT ID, 14, 0x292a0588
+1, 27000, 27000, 3000, 99, 0xb750231a, S=1, WebVTT ID, 14, 0x292a0588
+0, 30000, 30000, 1500, 36, 0xe7f70d87, S=1, WebVTT Settings, 18, 0x3f63061b
+1, 30000, 30000, 1500, 36, 0xe7f70d87, S=1, WebVTT Settings, 18, 0x3f63061b
+0, 30500, 30500, 2000, 112, 0x6961267d, S=1, WebVTT Settings, 20, 0x50b70712
+1, 30500, 30500, 2000, 112, 0x6961267d, S=1, WebVTT Settings, 20, 0x50b70712
+0, 32000, 32000, 3500, 58, 0x32d11382, S=1, WebVTT Settings, 18, 0x3f63061b
+1, 32000, 32000, 3500, 58, 0x32d11382, S=1, WebVTT Settings, 18, 0x3f63061b
+0, 32500, 32500, 1000, 36, 0xe6650c7c, S=1, WebVTT Settings, 20, 0x47000712
+1, 32500, 32500, 1000, 36, 0xe6650c7c, S=1, WebVTT Settings, 20, 0x47000712
0, 35500, 35500, 2500, 73, 0xb13f19c0
1, 35500, 35500, 2500, 73, 0xb13f19c0
0, 50000, 50000, 1134, 43, 0x534b0ee3
--
2.49.0
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avformat/framecrcenc: List types and checksums for for side data
2025-05-18 12:25 [FFmpeg-devel] [PATCH] avformat/framecrcenc: List types and checksums for for side data Michael Niedermayer
@ 2025-05-18 12:40 ` Michael Niedermayer
2025-05-18 14:43 ` Andreas Rheinhardt
2025-05-18 14:43 ` James Almer
2 siblings, 0 replies; 9+ messages in thread
From: Michael Niedermayer @ 2025-05-18 12:40 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1.1: Type: text/plain, Size: 1044 bytes --]
On Sun, May 18, 2025 at 02:25:38PM +0200, Michael Niedermayer wrote:
> This allows detecting changes and regressions in side data related code, same as what
> framecrc does for before already for packet data itself.
This code is also available as source plugin at:
https://github.com/michaelni/FFmpeg/tree/sourceplugin-sidedata-tests
Previously IIRC anton was against this, I used code like this
for many years in all tests i run.
It simply covers side data too in every framecrcenc based test.
Which means more test coverage for basically zero extra cpu time.
I would prefer if this can be added to master because maintaince
of the checksums really fits better into master than a seperate
plugin repository. But I already did bascically maintain this
outside for years because previously we failed to reach a consensus
to add it to master ...
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
The worst form of inequality is to try to make unequal things equal.
-- Aristotle
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avformat/framecrcenc: List types and checksums for for side data
2025-05-18 12:25 [FFmpeg-devel] [PATCH] avformat/framecrcenc: List types and checksums for for side data Michael Niedermayer
2025-05-18 12:40 ` Michael Niedermayer
@ 2025-05-18 14:43 ` Andreas Rheinhardt
2025-05-18 19:51 ` Michael Niedermayer
2025-05-18 14:43 ` James Almer
2 siblings, 1 reply; 9+ messages in thread
From: Andreas Rheinhardt @ 2025-05-18 14:43 UTC (permalink / raw)
To: ffmpeg-devel
Michael Niedermayer:
> This allows detecting changes and regressions in side data related code, same as what
> framecrc does for before already for packet data itself.
>
> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> ---
> libavformat/framecrcenc.c | 116 +-
> tests/ref/fate/autorotate | 2 +-
> tests/ref/fate/cover-art-mp3-id3v2-remux | 2 +-
> tests/ref/fate/ffmpeg-bsf-input | 10 +-
> tests/ref/fate/ffmpeg-spec-disposition | 2 +-
> tests/ref/fate/force_key_frames-source | 784 ++++++------
> tests/ref/fate/force_key_frames-source-drop | 34 +-
> tests/ref/fate/force_key_frames-source-dup | 1224 +++++++++----------
> tests/ref/fate/gapless-mp3 | 6 +-
> tests/ref/fate/h264_redundant_pps-side_data | 2 +-
> tests/ref/fate/id3v2-priv-remux | 2 +-
> tests/ref/fate/matroska-hdr10-plus-remux | 2 +-
> tests/ref/fate/matroska-ogg-opus-remux | 2 +-
> tests/ref/fate/matroska-opus-remux | 2 +-
> tests/ref/fate/matroska-vp8-alpha-remux | 14 +-
> tests/ref/fate/mov-cover-image | 2 +-
> tests/ref/fate/segment-mp4-to-ts | 250 ++--
> tests/ref/fate/shortest | 100 +-
> tests/ref/fate/webm-hdr10-plus-remux | 2 +-
> tests/ref/fate/webm-webvtt-remux | 24 +-
> 20 files changed, 1346 insertions(+), 1236 deletions(-)
>
> diff --git a/libavformat/framecrcenc.c b/libavformat/framecrcenc.c
> index 2ba20f3aab4..96c2a82eb2a 100644
> --- a/libavformat/framecrcenc.c
> +++ b/libavformat/framecrcenc.c
> @@ -21,8 +21,11 @@
>
> #include <inttypes.h>
>
> +#include "config.h"
> #include "libavutil/adler32.h"
> #include "libavutil/avstring.h"
> +#include "libavutil/intreadwrite.h"
> +#include "libavutil/hdr_dynamic_metadata.h"
Use proper alphabetical ordering
>
> #include "libavcodec/codec_id.h"
> #include "libavcodec/codec_par.h"
> @@ -48,6 +51,20 @@ static int framecrc_write_header(struct AVFormatContext *s)
> return ff_framehash_write_header(s);
> }
>
> +static av_unused void inline bswap(char *buf, int offset, int size)
> +{
> + if (size == 8) {
> + uint64_t val = AV_RN64(buf + offset);
> + AV_WN64(buf + offset, av_bswap64(val));
> + } else if (size == 4) {
> + uint32_t val = AV_RN32(buf + offset);
> + AV_WN32(buf + offset, av_bswap32(val));
> + } else if (size == 2) {
> + uint16_t val = AV_RN16(buf + offset);
> + AV_WN16(buf + offset, av_bswap16(val));
> + }
> +}
> +
> static int framecrc_write_packet(struct AVFormatContext *s, AVPacket *pkt)
> {
> uint32_t crc = av_adler32_update(0, pkt->data, pkt->size);
> @@ -58,11 +75,104 @@ static int framecrc_write_packet(struct AVFormatContext *s, AVPacket *pkt)
> if (pkt->flags != AV_PKT_FLAG_KEY)
> av_strlcatf(buf, sizeof(buf), ", F=0x%0X", pkt->flags);
> if (pkt->side_data_elems) {
> + int i;
> av_strlcatf(buf, sizeof(buf), ", S=%d", pkt->side_data_elems);
>
> - for (int i = 0; i < pkt->side_data_elems; i++) {
> - av_strlcatf(buf, sizeof(buf), ", %8"SIZE_SPECIFIER,
> - pkt->side_data[i].size);
> + for (i=0; i<pkt->side_data_elems; i++) {
This change is wrong.
> + const AVPacketSideData *const sd = &pkt->side_data[i];
> + const uint8_t *data = sd->data;
> + uint32_t side_data_crc = 0;
> +
> + switch (sd->type) {
> +#if HAVE_BIGENDIAN
> + uint8_t bswap_buf[FFMAX3(sizeof(AVCPBProperties),
> + sizeof(AVProducerReferenceTime),
> + sizeof(AVDynamicHDRPlus))];
> + case AV_PKT_DATA_PALETTE:
> + case AV_PKT_DATA_REPLAYGAIN:
> + case AV_PKT_DATA_DISPLAYMATRIX:
> + case AV_PKT_DATA_STEREO3D:
> + case AV_PKT_DATA_AUDIO_SERVICE_TYPE:
> + case AV_PKT_DATA_FALLBACK_TRACK:
> + case AV_PKT_DATA_MASTERING_DISPLAY_METADATA:
> + case AV_PKT_DATA_SPHERICAL:
> + case AV_PKT_DATA_CONTENT_LIGHT_LEVEL:
> + case AV_PKT_DATA_S12M_TIMECODE:
> + for (size_t j = 0; j < sd->size / 4; j++) {
> + uint8_t buf[4];
> + AV_WL32(buf, AV_RB32(sd->data + 4 * j));
> + side_data_crc = av_adler32_update(side_data_crc, buf, 4);
> + }
> + break;
> + case AV_PKT_DATA_CPB_PROPERTIES:
> +#define BSWAP(struct, field) bswap(bswap_buf, offsetof(struct, field), sizeof(((struct){0}).field))
> +#define BSWAP_RAT(struct, field) do{BSWAP(struct, field.num); BSWAP(struct, field.den);}while(0)
Missing spaces.
> + if (sd->size == sizeof(AVCPBProperties)) {
> + memcpy(bswap_buf, sd->data, sizeof(AVCPBProperties));
> + data = bswap_buf;
> + BSWAP(AVCPBProperties, max_bitrate);
> + BSWAP(AVCPBProperties, min_bitrate);
> + BSWAP(AVCPBProperties, avg_bitrate);
> + BSWAP(AVCPBProperties, buffer_size);
> + BSWAP(AVCPBProperties, vbv_delay);
> + }
> + goto pod;
> + case AV_PKT_DATA_PRFT:
> + if (sd->size == sizeof(AVProducerReferenceTime)) {
> + memcpy(bswap_buf, sd->data, sizeof(AVProducerReferenceTime));
> + data = bswap_buf;
> + BSWAP(AVProducerReferenceTime, wallclock);
> + BSWAP(AVProducerReferenceTime, flags);
> + }
> + goto pod;
> + case AV_PKT_DATA_DYNAMIC_HDR10_PLUS:
> + if (sd->size == sizeof(AVDynamicHDRPlus)) {
> + memcpy(bswap_buf, sd->data, sizeof(AVDynamicHDRPlus));
> + data = bswap_buf;
> + for(int i = 0; i<3; i++) {
Missing space after for and around "<". Also, why not use FF_ARRAY_ELEMS?
Same below.
> + BSWAP_RAT(AVDynamicHDRPlus, params[i].window_upper_left_corner_x);
> + BSWAP_RAT(AVDynamicHDRPlus, params[i].window_upper_left_corner_y);
> + BSWAP_RAT(AVDynamicHDRPlus, params[i].window_lower_right_corner_x);
> + BSWAP_RAT(AVDynamicHDRPlus, params[i].window_lower_right_corner_y);
> + BSWAP(AVDynamicHDRPlus, params[i].center_of_ellipse_x);
> + BSWAP(AVDynamicHDRPlus, params[i].center_of_ellipse_y);
> + BSWAP(AVDynamicHDRPlus, params[i].semimajor_axis_internal_ellipse);
> + BSWAP(AVDynamicHDRPlus, params[i].semimajor_axis_external_ellipse);
> + BSWAP(AVDynamicHDRPlus, params[i].semiminor_axis_external_ellipse);
> + //!!! overlap_process_option
> + for(int j=0; j<3; j++)
> + BSWAP_RAT(AVDynamicHDRPlus, params[i].maxscl[j]);
> + BSWAP_RAT(AVDynamicHDRPlus, params[i].average_maxrgb);
> + BSWAP_RAT(AVDynamicHDRPlus, params[i].fraction_bright_pixels);
> + BSWAP_RAT(AVDynamicHDRPlus, params[i].knee_point_x);
> + BSWAP_RAT(AVDynamicHDRPlus, params[i].knee_point_y);
> + for(int j=0; j<15; j++) {
> + BSWAP_RAT(AVDynamicHDRPlus, params[i].distribution_maxrgb[j].percentile);
> + BSWAP_RAT(AVDynamicHDRPlus, params[i].bezier_curve_anchors[j]);
> + }
> + BSWAP_RAT(AVDynamicHDRPlus, params[i].color_saturation_weight);
> + }
> + BSWAP_RAT(AVDynamicHDRPlus, targeted_system_display_maximum_luminance);
> + for(int i = 0; i<25; i++)
> + for(int j = 0; j<25; j++) {
> + BSWAP_RAT(AVDynamicHDRPlus, targeted_system_display_actual_peak_luminance[i][j]);
> + BSWAP_RAT(AVDynamicHDRPlus, mastering_display_actual_peak_luminance[i][j]);
> + }
> + }
> + pod:
> +#endif
> +
> + default:
> + side_data_crc = av_adler32_update(0, data, sd->size);
> + break;
> + case AV_PKT_DATA_IAMF_MIX_GAIN_PARAM:
> + case AV_PKT_DATA_IAMF_DEMIXING_INFO_PARAM:
> + case AV_PKT_DATA_IAMF_RECON_GAIN_INFO_PARAM:
> + side_data_crc = 0;
> + }
> +
> + av_strlcatf(buf, sizeof(buf), ", %s, %8"SIZE_SPECIFIER", 0x%08"PRIx32,
> + av_packet_side_data_name(sd->type), sd->size, side_data_crc);
> }
> }
> av_strlcatf(buf, sizeof(buf), "\n");
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avformat/framecrcenc: List types and checksums for for side data
2025-05-18 12:25 [FFmpeg-devel] [PATCH] avformat/framecrcenc: List types and checksums for for side data Michael Niedermayer
2025-05-18 12:40 ` Michael Niedermayer
2025-05-18 14:43 ` Andreas Rheinhardt
@ 2025-05-18 14:43 ` James Almer
2025-05-18 21:23 ` Michael Niedermayer
2 siblings, 1 reply; 9+ messages in thread
From: James Almer @ 2025-05-18 14:43 UTC (permalink / raw)
To: ffmpeg-devel
[-- Attachment #1.1.1: Type: text/plain, Size: 3711 bytes --]
On 5/18/2025 9:25 AM, Michael Niedermayer wrote:
> This allows detecting changes and regressions in side data related code, same as what
> framecrc does for before already for packet data itself.
>
> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> ---
> libavformat/framecrcenc.c | 116 +-
> tests/ref/fate/autorotate | 2 +-
> tests/ref/fate/cover-art-mp3-id3v2-remux | 2 +-
> tests/ref/fate/ffmpeg-bsf-input | 10 +-
> tests/ref/fate/ffmpeg-spec-disposition | 2 +-
> tests/ref/fate/force_key_frames-source | 784 ++++++------
> tests/ref/fate/force_key_frames-source-drop | 34 +-
> tests/ref/fate/force_key_frames-source-dup | 1224 +++++++++----------
> tests/ref/fate/gapless-mp3 | 6 +-
> tests/ref/fate/h264_redundant_pps-side_data | 2 +-
> tests/ref/fate/id3v2-priv-remux | 2 +-
> tests/ref/fate/matroska-hdr10-plus-remux | 2 +-
> tests/ref/fate/matroska-ogg-opus-remux | 2 +-
> tests/ref/fate/matroska-opus-remux | 2 +-
> tests/ref/fate/matroska-vp8-alpha-remux | 14 +-
> tests/ref/fate/mov-cover-image | 2 +-
> tests/ref/fate/segment-mp4-to-ts | 250 ++--
> tests/ref/fate/shortest | 100 +-
> tests/ref/fate/webm-hdr10-plus-remux | 2 +-
> tests/ref/fate/webm-webvtt-remux | 24 +-
> 20 files changed, 1346 insertions(+), 1236 deletions(-)
>
> diff --git a/libavformat/framecrcenc.c b/libavformat/framecrcenc.c
> index 2ba20f3aab4..96c2a82eb2a 100644
> --- a/libavformat/framecrcenc.c
> +++ b/libavformat/framecrcenc.c
> @@ -21,8 +21,11 @@
>
> #include <inttypes.h>
>
> +#include "config.h"
> #include "libavutil/adler32.h"
> #include "libavutil/avstring.h"
> +#include "libavutil/intreadwrite.h"
> +#include "libavutil/hdr_dynamic_metadata.h"
>
> #include "libavcodec/codec_id.h"
> #include "libavcodec/codec_par.h"
> @@ -48,6 +51,20 @@ static int framecrc_write_header(struct AVFormatContext *s)
> return ff_framehash_write_header(s);
> }
>
> +static av_unused void inline bswap(char *buf, int offset, int size)
> +{
> + if (size == 8) {
> + uint64_t val = AV_RN64(buf + offset);
> + AV_WN64(buf + offset, av_bswap64(val));
> + } else if (size == 4) {
> + uint32_t val = AV_RN32(buf + offset);
> + AV_WN32(buf + offset, av_bswap32(val));
> + } else if (size == 2) {
> + uint16_t val = AV_RN16(buf + offset);
> + AV_WN16(buf + offset, av_bswap16(val));
> + }
> +}
> +
> static int framecrc_write_packet(struct AVFormatContext *s, AVPacket *pkt)
> {
> uint32_t crc = av_adler32_update(0, pkt->data, pkt->size);
> @@ -58,11 +75,104 @@ static int framecrc_write_packet(struct AVFormatContext *s, AVPacket *pkt)
> if (pkt->flags != AV_PKT_FLAG_KEY)
> av_strlcatf(buf, sizeof(buf), ", F=0x%0X", pkt->flags);
> if (pkt->side_data_elems) {
> + int i;
> av_strlcatf(buf, sizeof(buf), ", S=%d", pkt->side_data_elems);
>
> - for (int i = 0; i < pkt->side_data_elems; i++) {
> - av_strlcatf(buf, sizeof(buf), ", %8"SIZE_SPECIFIER,
> - pkt->side_data[i].size);
> + for (i=0; i<pkt->side_data_elems; i++) {
> + const AVPacketSideData *const sd = &pkt->side_data[i];
> + const uint8_t *data = sd->data;
> + uint32_t side_data_crc = 0;
> +
> + switch (sd->type) {
Wont this potentially introduce extra work for when we add new types?
[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avformat/framecrcenc: List types and checksums for for side data
2025-05-18 14:43 ` Andreas Rheinhardt
@ 2025-05-18 19:51 ` Michael Niedermayer
2025-06-07 18:01 ` Michael Niedermayer
0 siblings, 1 reply; 9+ messages in thread
From: Michael Niedermayer @ 2025-05-18 19:51 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1.1: Type: text/plain, Size: 5702 bytes --]
Hi
On Sun, May 18, 2025 at 04:43:01PM +0200, Andreas Rheinhardt wrote:
> Michael Niedermayer:
> > This allows detecting changes and regressions in side data related code, same as what
> > framecrc does for before already for packet data itself.
> >
> > Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> > ---
> > libavformat/framecrcenc.c | 116 +-
> > tests/ref/fate/autorotate | 2 +-
> > tests/ref/fate/cover-art-mp3-id3v2-remux | 2 +-
> > tests/ref/fate/ffmpeg-bsf-input | 10 +-
> > tests/ref/fate/ffmpeg-spec-disposition | 2 +-
> > tests/ref/fate/force_key_frames-source | 784 ++++++------
> > tests/ref/fate/force_key_frames-source-drop | 34 +-
> > tests/ref/fate/force_key_frames-source-dup | 1224 +++++++++----------
> > tests/ref/fate/gapless-mp3 | 6 +-
> > tests/ref/fate/h264_redundant_pps-side_data | 2 +-
> > tests/ref/fate/id3v2-priv-remux | 2 +-
> > tests/ref/fate/matroska-hdr10-plus-remux | 2 +-
> > tests/ref/fate/matroska-ogg-opus-remux | 2 +-
> > tests/ref/fate/matroska-opus-remux | 2 +-
> > tests/ref/fate/matroska-vp8-alpha-remux | 14 +-
> > tests/ref/fate/mov-cover-image | 2 +-
> > tests/ref/fate/segment-mp4-to-ts | 250 ++--
> > tests/ref/fate/shortest | 100 +-
> > tests/ref/fate/webm-hdr10-plus-remux | 2 +-
> > tests/ref/fate/webm-webvtt-remux | 24 +-
> > 20 files changed, 1346 insertions(+), 1236 deletions(-)
> >
> > diff --git a/libavformat/framecrcenc.c b/libavformat/framecrcenc.c
> > index 2ba20f3aab4..96c2a82eb2a 100644
> > --- a/libavformat/framecrcenc.c
> > +++ b/libavformat/framecrcenc.c
> > @@ -21,8 +21,11 @@
> >
> > #include <inttypes.h>
> >
> > +#include "config.h"
> > #include "libavutil/adler32.h"
> > #include "libavutil/avstring.h"
> > +#include "libavutil/intreadwrite.h"
> > +#include "libavutil/hdr_dynamic_metadata.h"
>
> Use proper alphabetical ordering
Is there a inproper alphabetical ordering ?
[...]
>
> > + const AVPacketSideData *const sd = &pkt->side_data[i];
> > + const uint8_t *data = sd->data;
> > + uint32_t side_data_crc = 0;
> > +
> > + switch (sd->type) {
> > +#if HAVE_BIGENDIAN
> > + uint8_t bswap_buf[FFMAX3(sizeof(AVCPBProperties),
> > + sizeof(AVProducerReferenceTime),
> > + sizeof(AVDynamicHDRPlus))];
> > + case AV_PKT_DATA_PALETTE:
> > + case AV_PKT_DATA_REPLAYGAIN:
> > + case AV_PKT_DATA_DISPLAYMATRIX:
> > + case AV_PKT_DATA_STEREO3D:
> > + case AV_PKT_DATA_AUDIO_SERVICE_TYPE:
> > + case AV_PKT_DATA_FALLBACK_TRACK:
> > + case AV_PKT_DATA_MASTERING_DISPLAY_METADATA:
> > + case AV_PKT_DATA_SPHERICAL:
> > + case AV_PKT_DATA_CONTENT_LIGHT_LEVEL:
> > + case AV_PKT_DATA_S12M_TIMECODE:
> > + for (size_t j = 0; j < sd->size / 4; j++) {
> > + uint8_t buf[4];
> > + AV_WL32(buf, AV_RB32(sd->data + 4 * j));
> > + side_data_crc = av_adler32_update(side_data_crc, buf, 4);
> > + }
> > + break;
> > + case AV_PKT_DATA_CPB_PROPERTIES:
> > +#define BSWAP(struct, field) bswap(bswap_buf, offsetof(struct, field), sizeof(((struct){0}).field))
> > +#define BSWAP_RAT(struct, field) do{BSWAP(struct, field.num); BSWAP(struct, field.den);}while(0)
>
> Missing spaces.
Ill try to find them and tell them to return, i hope they will pick the
right places, because iam not sure which are the right places
>
> > + if (sd->size == sizeof(AVCPBProperties)) {
> > + memcpy(bswap_buf, sd->data, sizeof(AVCPBProperties));
> > + data = bswap_buf;
> > + BSWAP(AVCPBProperties, max_bitrate);
> > + BSWAP(AVCPBProperties, min_bitrate);
> > + BSWAP(AVCPBProperties, avg_bitrate);
> > + BSWAP(AVCPBProperties, buffer_size);
> > + BSWAP(AVCPBProperties, vbv_delay);
> > + }
> > + goto pod;
> > + case AV_PKT_DATA_PRFT:
> > + if (sd->size == sizeof(AVProducerReferenceTime)) {
> > + memcpy(bswap_buf, sd->data, sizeof(AVProducerReferenceTime));
> > + data = bswap_buf;
> > + BSWAP(AVProducerReferenceTime, wallclock);
> > + BSWAP(AVProducerReferenceTime, flags);
> > + }
> > + goto pod;
> > + case AV_PKT_DATA_DYNAMIC_HDR10_PLUS:
> > + if (sd->size == sizeof(AVDynamicHDRPlus)) {
> > + memcpy(bswap_buf, sd->data, sizeof(AVDynamicHDRPlus));
> > + data = bswap_buf;
> > + for(int i = 0; i<3; i++) {
>
> Missing space after for and around "<". Also, why not use FF_ARRAY_ELEMS?
> Same below.
I could do:
FF_ARRAY_ELEMS(((AVDynamicHDRPlus*)0)->params)
Is that what you are asking for ?
or do you know of a prettier way ?
[...]
thx
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Whats the most studid thing your enemy could do ? Blow himself up
Whats the most studid thing you could do ? Give up your rights and
freedom because your enemy blew himself up.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avformat/framecrcenc: List types and checksums for for side data
2025-05-18 14:43 ` James Almer
@ 2025-05-18 21:23 ` Michael Niedermayer
2025-06-08 2:54 ` James Almer
0 siblings, 1 reply; 9+ messages in thread
From: Michael Niedermayer @ 2025-05-18 21:23 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1.1: Type: text/plain, Size: 5095 bytes --]
On Sun, May 18, 2025 at 11:43:14AM -0300, James Almer wrote:
> On 5/18/2025 9:25 AM, Michael Niedermayer wrote:
> > This allows detecting changes and regressions in side data related code, same as what
> > framecrc does for before already for packet data itself.
> >
> > Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> > ---
> > libavformat/framecrcenc.c | 116 +-
> > tests/ref/fate/autorotate | 2 +-
> > tests/ref/fate/cover-art-mp3-id3v2-remux | 2 +-
> > tests/ref/fate/ffmpeg-bsf-input | 10 +-
> > tests/ref/fate/ffmpeg-spec-disposition | 2 +-
> > tests/ref/fate/force_key_frames-source | 784 ++++++------
> > tests/ref/fate/force_key_frames-source-drop | 34 +-
> > tests/ref/fate/force_key_frames-source-dup | 1224 +++++++++----------
> > tests/ref/fate/gapless-mp3 | 6 +-
> > tests/ref/fate/h264_redundant_pps-side_data | 2 +-
> > tests/ref/fate/id3v2-priv-remux | 2 +-
> > tests/ref/fate/matroska-hdr10-plus-remux | 2 +-
> > tests/ref/fate/matroska-ogg-opus-remux | 2 +-
> > tests/ref/fate/matroska-opus-remux | 2 +-
> > tests/ref/fate/matroska-vp8-alpha-remux | 14 +-
> > tests/ref/fate/mov-cover-image | 2 +-
> > tests/ref/fate/segment-mp4-to-ts | 250 ++--
> > tests/ref/fate/shortest | 100 +-
> > tests/ref/fate/webm-hdr10-plus-remux | 2 +-
> > tests/ref/fate/webm-webvtt-remux | 24 +-
> > 20 files changed, 1346 insertions(+), 1236 deletions(-)
> >
> > diff --git a/libavformat/framecrcenc.c b/libavformat/framecrcenc.c
> > index 2ba20f3aab4..96c2a82eb2a 100644
> > --- a/libavformat/framecrcenc.c
> > +++ b/libavformat/framecrcenc.c
> > @@ -21,8 +21,11 @@
> > #include <inttypes.h>
> > +#include "config.h"
> > #include "libavutil/adler32.h"
> > #include "libavutil/avstring.h"
> > +#include "libavutil/intreadwrite.h"
> > +#include "libavutil/hdr_dynamic_metadata.h"
> > #include "libavcodec/codec_id.h"
> > #include "libavcodec/codec_par.h"
> > @@ -48,6 +51,20 @@ static int framecrc_write_header(struct AVFormatContext *s)
> > return ff_framehash_write_header(s);
> > }
> > +static av_unused void inline bswap(char *buf, int offset, int size)
> > +{
> > + if (size == 8) {
> > + uint64_t val = AV_RN64(buf + offset);
> > + AV_WN64(buf + offset, av_bswap64(val));
> > + } else if (size == 4) {
> > + uint32_t val = AV_RN32(buf + offset);
> > + AV_WN32(buf + offset, av_bswap32(val));
> > + } else if (size == 2) {
> > + uint16_t val = AV_RN16(buf + offset);
> > + AV_WN16(buf + offset, av_bswap16(val));
> > + }
> > +}
> > +
> > static int framecrc_write_packet(struct AVFormatContext *s, AVPacket *pkt)
> > {
> > uint32_t crc = av_adler32_update(0, pkt->data, pkt->size);
> > @@ -58,11 +75,104 @@ static int framecrc_write_packet(struct AVFormatContext *s, AVPacket *pkt)
> > if (pkt->flags != AV_PKT_FLAG_KEY)
> > av_strlcatf(buf, sizeof(buf), ", F=0x%0X", pkt->flags);
> > if (pkt->side_data_elems) {
> > + int i;
> > av_strlcatf(buf, sizeof(buf), ", S=%d", pkt->side_data_elems);
> > - for (int i = 0; i < pkt->side_data_elems; i++) {
> > - av_strlcatf(buf, sizeof(buf), ", %8"SIZE_SPECIFIER,
> > - pkt->side_data[i].size);
> > + for (i=0; i<pkt->side_data_elems; i++) {
> > + const AVPacketSideData *const sd = &pkt->side_data[i];
> > + const uint8_t *data = sd->data;
> > + uint32_t side_data_crc = 0;
> > +
> > + switch (sd->type) {
>
> Wont this potentially introduce extra work for when we add new types?
no, it will be less work
because maintaining this in a seperate branch is the identical work
but in addition its also the extra work due to the seperate branch.
and it adds complexity if one wants to bisect.
Every hour i have to spend maintaining this or anything
else in a seperate branch is an hour less i spend on the ffmpeg core
repository.
Maybe I should write this in a more formal way to show it
Developer_t = Michael_t + James_t + ...
Case 1:
Michael_t contains SD_t = time needed to maintain sidedata testing
Michael_t contains SB_t = time needed to maintain a seperate branch with side data testing and checksums
Case 2:
Developer_t contains SD_t = time needed to maintain sidedata testing
In both cases Developer_t contains SD_t so it cancels out
but in case 1, Developer_t also contains SB_t that is the time needed to
maintain sidedata checksums in a seperate branch.
So with a seperate branch the developers will have less time remainining
thx
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
During times of universal deceit, telling the truth becomes a
revolutionary act. -- George Orwell
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avformat/framecrcenc: List types and checksums for for side data
2025-05-18 19:51 ` Michael Niedermayer
@ 2025-06-07 18:01 ` Michael Niedermayer
0 siblings, 0 replies; 9+ messages in thread
From: Michael Niedermayer @ 2025-06-07 18:01 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1.1: Type: text/plain, Size: 5870 bytes --]
On Sun, May 18, 2025 at 09:51:16PM +0200, Michael Niedermayer wrote:
> Hi
>
> On Sun, May 18, 2025 at 04:43:01PM +0200, Andreas Rheinhardt wrote:
> > Michael Niedermayer:
> > > This allows detecting changes and regressions in side data related code, same as what
> > > framecrc does for before already for packet data itself.
> > >
> > > Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> > > ---
> > > libavformat/framecrcenc.c | 116 +-
> > > tests/ref/fate/autorotate | 2 +-
> > > tests/ref/fate/cover-art-mp3-id3v2-remux | 2 +-
> > > tests/ref/fate/ffmpeg-bsf-input | 10 +-
> > > tests/ref/fate/ffmpeg-spec-disposition | 2 +-
> > > tests/ref/fate/force_key_frames-source | 784 ++++++------
> > > tests/ref/fate/force_key_frames-source-drop | 34 +-
> > > tests/ref/fate/force_key_frames-source-dup | 1224 +++++++++----------
> > > tests/ref/fate/gapless-mp3 | 6 +-
> > > tests/ref/fate/h264_redundant_pps-side_data | 2 +-
> > > tests/ref/fate/id3v2-priv-remux | 2 +-
> > > tests/ref/fate/matroska-hdr10-plus-remux | 2 +-
> > > tests/ref/fate/matroska-ogg-opus-remux | 2 +-
> > > tests/ref/fate/matroska-opus-remux | 2 +-
> > > tests/ref/fate/matroska-vp8-alpha-remux | 14 +-
> > > tests/ref/fate/mov-cover-image | 2 +-
> > > tests/ref/fate/segment-mp4-to-ts | 250 ++--
> > > tests/ref/fate/shortest | 100 +-
> > > tests/ref/fate/webm-hdr10-plus-remux | 2 +-
> > > tests/ref/fate/webm-webvtt-remux | 24 +-
> > > 20 files changed, 1346 insertions(+), 1236 deletions(-)
> > >
> > > diff --git a/libavformat/framecrcenc.c b/libavformat/framecrcenc.c
> > > index 2ba20f3aab4..96c2a82eb2a 100644
> > > --- a/libavformat/framecrcenc.c
> > > +++ b/libavformat/framecrcenc.c
> > > @@ -21,8 +21,11 @@
> > >
> > > #include <inttypes.h>
> > >
> > > +#include "config.h"
> > > #include "libavutil/adler32.h"
> > > #include "libavutil/avstring.h"
> > > +#include "libavutil/intreadwrite.h"
> > > +#include "libavutil/hdr_dynamic_metadata.h"
> >
> > Use proper alphabetical ordering
>
> Is there a inproper alphabetical ordering ?
>
>
>
> [...]
>
> >
> > > + const AVPacketSideData *const sd = &pkt->side_data[i];
> > > + const uint8_t *data = sd->data;
> > > + uint32_t side_data_crc = 0;
> > > +
> > > + switch (sd->type) {
> > > +#if HAVE_BIGENDIAN
> > > + uint8_t bswap_buf[FFMAX3(sizeof(AVCPBProperties),
> > > + sizeof(AVProducerReferenceTime),
> > > + sizeof(AVDynamicHDRPlus))];
> > > + case AV_PKT_DATA_PALETTE:
> > > + case AV_PKT_DATA_REPLAYGAIN:
> > > + case AV_PKT_DATA_DISPLAYMATRIX:
> > > + case AV_PKT_DATA_STEREO3D:
> > > + case AV_PKT_DATA_AUDIO_SERVICE_TYPE:
> > > + case AV_PKT_DATA_FALLBACK_TRACK:
> > > + case AV_PKT_DATA_MASTERING_DISPLAY_METADATA:
> > > + case AV_PKT_DATA_SPHERICAL:
> > > + case AV_PKT_DATA_CONTENT_LIGHT_LEVEL:
> > > + case AV_PKT_DATA_S12M_TIMECODE:
> > > + for (size_t j = 0; j < sd->size / 4; j++) {
> > > + uint8_t buf[4];
> > > + AV_WL32(buf, AV_RB32(sd->data + 4 * j));
> > > + side_data_crc = av_adler32_update(side_data_crc, buf, 4);
> > > + }
> > > + break;
> > > + case AV_PKT_DATA_CPB_PROPERTIES:
> > > +#define BSWAP(struct, field) bswap(bswap_buf, offsetof(struct, field), sizeof(((struct){0}).field))
> > > +#define BSWAP_RAT(struct, field) do{BSWAP(struct, field.num); BSWAP(struct, field.den);}while(0)
> >
> > Missing spaces.
>
> Ill try to find them and tell them to return, i hope they will pick the
> right places, because iam not sure which are the right places
>
>
> >
> > > + if (sd->size == sizeof(AVCPBProperties)) {
> > > + memcpy(bswap_buf, sd->data, sizeof(AVCPBProperties));
> > > + data = bswap_buf;
> > > + BSWAP(AVCPBProperties, max_bitrate);
> > > + BSWAP(AVCPBProperties, min_bitrate);
> > > + BSWAP(AVCPBProperties, avg_bitrate);
> > > + BSWAP(AVCPBProperties, buffer_size);
> > > + BSWAP(AVCPBProperties, vbv_delay);
> > > + }
> > > + goto pod;
> > > + case AV_PKT_DATA_PRFT:
> > > + if (sd->size == sizeof(AVProducerReferenceTime)) {
> > > + memcpy(bswap_buf, sd->data, sizeof(AVProducerReferenceTime));
> > > + data = bswap_buf;
> > > + BSWAP(AVProducerReferenceTime, wallclock);
> > > + BSWAP(AVProducerReferenceTime, flags);
> > > + }
> > > + goto pod;
> > > + case AV_PKT_DATA_DYNAMIC_HDR10_PLUS:
> > > + if (sd->size == sizeof(AVDynamicHDRPlus)) {
> > > + memcpy(bswap_buf, sd->data, sizeof(AVDynamicHDRPlus));
> > > + data = bswap_buf;
> > > + for(int i = 0; i<3; i++) {
> >
> > Missing space after for and around "<". Also, why not use FF_ARRAY_ELEMS?
> > Same below.
>
> I could do:
> FF_ARRAY_ELEMS(((AVDynamicHDRPlus*)0)->params)
will apply the patch with these changes
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
There will always be a question for which you do not know the correct answer.
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avformat/framecrcenc: List types and checksums for for side data
2025-05-18 21:23 ` Michael Niedermayer
@ 2025-06-08 2:54 ` James Almer
2025-06-09 20:24 ` Michael Niedermayer
0 siblings, 1 reply; 9+ messages in thread
From: James Almer @ 2025-06-08 2:54 UTC (permalink / raw)
To: ffmpeg-devel
[-- Attachment #1.1.1: Type: text/plain, Size: 5128 bytes --]
On 5/18/2025 6:23 PM, Michael Niedermayer wrote:
> On Sun, May 18, 2025 at 11:43:14AM -0300, James Almer wrote:
>> On 5/18/2025 9:25 AM, Michael Niedermayer wrote:
>>> This allows detecting changes and regressions in side data related code, same as what
>>> framecrc does for before already for packet data itself.
>>>
>>> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
>>> ---
>>> libavformat/framecrcenc.c | 116 +-
>>> tests/ref/fate/autorotate | 2 +-
>>> tests/ref/fate/cover-art-mp3-id3v2-remux | 2 +-
>>> tests/ref/fate/ffmpeg-bsf-input | 10 +-
>>> tests/ref/fate/ffmpeg-spec-disposition | 2 +-
>>> tests/ref/fate/force_key_frames-source | 784 ++++++------
>>> tests/ref/fate/force_key_frames-source-drop | 34 +-
>>> tests/ref/fate/force_key_frames-source-dup | 1224 +++++++++----------
>>> tests/ref/fate/gapless-mp3 | 6 +-
>>> tests/ref/fate/h264_redundant_pps-side_data | 2 +-
>>> tests/ref/fate/id3v2-priv-remux | 2 +-
>>> tests/ref/fate/matroska-hdr10-plus-remux | 2 +-
>>> tests/ref/fate/matroska-ogg-opus-remux | 2 +-
>>> tests/ref/fate/matroska-opus-remux | 2 +-
>>> tests/ref/fate/matroska-vp8-alpha-remux | 14 +-
>>> tests/ref/fate/mov-cover-image | 2 +-
>>> tests/ref/fate/segment-mp4-to-ts | 250 ++--
>>> tests/ref/fate/shortest | 100 +-
>>> tests/ref/fate/webm-hdr10-plus-remux | 2 +-
>>> tests/ref/fate/webm-webvtt-remux | 24 +-
>>> 20 files changed, 1346 insertions(+), 1236 deletions(-)
>>>
>>> diff --git a/libavformat/framecrcenc.c b/libavformat/framecrcenc.c
>>> index 2ba20f3aab4..96c2a82eb2a 100644
>>> --- a/libavformat/framecrcenc.c
>>> +++ b/libavformat/framecrcenc.c
>>> @@ -21,8 +21,11 @@
>>> #include <inttypes.h>
>>> +#include "config.h"
>>> #include "libavutil/adler32.h"
>>> #include "libavutil/avstring.h"
>>> +#include "libavutil/intreadwrite.h"
>>> +#include "libavutil/hdr_dynamic_metadata.h"
>>> #include "libavcodec/codec_id.h"
>>> #include "libavcodec/codec_par.h"
>>> @@ -48,6 +51,20 @@ static int framecrc_write_header(struct AVFormatContext *s)
>>> return ff_framehash_write_header(s);
>>> }
>>> +static av_unused void inline bswap(char *buf, int offset, int size)
>>> +{
>>> + if (size == 8) {
>>> + uint64_t val = AV_RN64(buf + offset);
>>> + AV_WN64(buf + offset, av_bswap64(val));
>>> + } else if (size == 4) {
>>> + uint32_t val = AV_RN32(buf + offset);
>>> + AV_WN32(buf + offset, av_bswap32(val));
>>> + } else if (size == 2) {
>>> + uint16_t val = AV_RN16(buf + offset);
>>> + AV_WN16(buf + offset, av_bswap16(val));
>>> + }
>>> +}
>>> +
>>> static int framecrc_write_packet(struct AVFormatContext *s, AVPacket *pkt)
>>> {
>>> uint32_t crc = av_adler32_update(0, pkt->data, pkt->size);
>>> @@ -58,11 +75,104 @@ static int framecrc_write_packet(struct AVFormatContext *s, AVPacket *pkt)
>>> if (pkt->flags != AV_PKT_FLAG_KEY)
>>> av_strlcatf(buf, sizeof(buf), ", F=0x%0X", pkt->flags);
>>> if (pkt->side_data_elems) {
>>> + int i;
>>> av_strlcatf(buf, sizeof(buf), ", S=%d", pkt->side_data_elems);
>>> - for (int i = 0; i < pkt->side_data_elems; i++) {
>>> - av_strlcatf(buf, sizeof(buf), ", %8"SIZE_SPECIFIER,
>>> - pkt->side_data[i].size);
>>> + for (i=0; i<pkt->side_data_elems; i++) {
>>> + const AVPacketSideData *const sd = &pkt->side_data[i];
>>> + const uint8_t *data = sd->data;
>>> + uint32_t side_data_crc = 0;
>>> +
>>> + switch (sd->type) {
>>
>> Wont this potentially introduce extra work for when we add new types?
>
> no, it will be less work
>
> because maintaining this in a seperate branch is the identical work
> but in addition its also the extra work due to the seperate branch.
> and it adds complexity if one wants to bisect.
>
> Every hour i have to spend maintaining this or anything
> else in a seperate branch is an hour less i spend on the ffmpeg core
> repository.
You're seeing this the wrong way. You want this feature, and every day
it's not upstreamed, it's potential extra work in your local repo.
That's on you, same as other people probably have their own local repos
or public forks they need to be kept in sync with extra personal changes
that are not upstreamed.
The way this should be handled is: Does the project need it, or do
developers want it? Because the extra work i talked about earlier is
potentially adding a case to the switch for every new side data type
added from now on, that you're putting on other developers' shoulders.
That said, I'm not against this in principle, but again, it will mean
extra work when adding future side data types that encapsulate long
elaborate structs.
[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [FFmpeg-devel] [PATCH] avformat/framecrcenc: List types and checksums for for side data
2025-06-08 2:54 ` James Almer
@ 2025-06-09 20:24 ` Michael Niedermayer
0 siblings, 0 replies; 9+ messages in thread
From: Michael Niedermayer @ 2025-06-09 20:24 UTC (permalink / raw)
To: FFmpeg development discussions and patches
[-- Attachment #1.1: Type: text/plain, Size: 6651 bytes --]
On Sat, Jun 07, 2025 at 11:54:03PM -0300, James Almer wrote:
> On 5/18/2025 6:23 PM, Michael Niedermayer wrote:
> > On Sun, May 18, 2025 at 11:43:14AM -0300, James Almer wrote:
> > > On 5/18/2025 9:25 AM, Michael Niedermayer wrote:
> > > > This allows detecting changes and regressions in side data related code, same as what
> > > > framecrc does for before already for packet data itself.
> > > >
> > > > Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
> > > > ---
> > > > libavformat/framecrcenc.c | 116 +-
> > > > tests/ref/fate/autorotate | 2 +-
> > > > tests/ref/fate/cover-art-mp3-id3v2-remux | 2 +-
> > > > tests/ref/fate/ffmpeg-bsf-input | 10 +-
> > > > tests/ref/fate/ffmpeg-spec-disposition | 2 +-
> > > > tests/ref/fate/force_key_frames-source | 784 ++++++------
> > > > tests/ref/fate/force_key_frames-source-drop | 34 +-
> > > > tests/ref/fate/force_key_frames-source-dup | 1224 +++++++++----------
> > > > tests/ref/fate/gapless-mp3 | 6 +-
> > > > tests/ref/fate/h264_redundant_pps-side_data | 2 +-
> > > > tests/ref/fate/id3v2-priv-remux | 2 +-
> > > > tests/ref/fate/matroska-hdr10-plus-remux | 2 +-
> > > > tests/ref/fate/matroska-ogg-opus-remux | 2 +-
> > > > tests/ref/fate/matroska-opus-remux | 2 +-
> > > > tests/ref/fate/matroska-vp8-alpha-remux | 14 +-
> > > > tests/ref/fate/mov-cover-image | 2 +-
> > > > tests/ref/fate/segment-mp4-to-ts | 250 ++--
> > > > tests/ref/fate/shortest | 100 +-
> > > > tests/ref/fate/webm-hdr10-plus-remux | 2 +-
> > > > tests/ref/fate/webm-webvtt-remux | 24 +-
> > > > 20 files changed, 1346 insertions(+), 1236 deletions(-)
> > > >
> > > > diff --git a/libavformat/framecrcenc.c b/libavformat/framecrcenc.c
> > > > index 2ba20f3aab4..96c2a82eb2a 100644
> > > > --- a/libavformat/framecrcenc.c
> > > > +++ b/libavformat/framecrcenc.c
> > > > @@ -21,8 +21,11 @@
> > > > #include <inttypes.h>
> > > > +#include "config.h"
> > > > #include "libavutil/adler32.h"
> > > > #include "libavutil/avstring.h"
> > > > +#include "libavutil/intreadwrite.h"
> > > > +#include "libavutil/hdr_dynamic_metadata.h"
> > > > #include "libavcodec/codec_id.h"
> > > > #include "libavcodec/codec_par.h"
> > > > @@ -48,6 +51,20 @@ static int framecrc_write_header(struct AVFormatContext *s)
> > > > return ff_framehash_write_header(s);
> > > > }
> > > > +static av_unused void inline bswap(char *buf, int offset, int size)
> > > > +{
> > > > + if (size == 8) {
> > > > + uint64_t val = AV_RN64(buf + offset);
> > > > + AV_WN64(buf + offset, av_bswap64(val));
> > > > + } else if (size == 4) {
> > > > + uint32_t val = AV_RN32(buf + offset);
> > > > + AV_WN32(buf + offset, av_bswap32(val));
> > > > + } else if (size == 2) {
> > > > + uint16_t val = AV_RN16(buf + offset);
> > > > + AV_WN16(buf + offset, av_bswap16(val));
> > > > + }
> > > > +}
> > > > +
> > > > static int framecrc_write_packet(struct AVFormatContext *s, AVPacket *pkt)
> > > > {
> > > > uint32_t crc = av_adler32_update(0, pkt->data, pkt->size);
> > > > @@ -58,11 +75,104 @@ static int framecrc_write_packet(struct AVFormatContext *s, AVPacket *pkt)
> > > > if (pkt->flags != AV_PKT_FLAG_KEY)
> > > > av_strlcatf(buf, sizeof(buf), ", F=0x%0X", pkt->flags);
> > > > if (pkt->side_data_elems) {
> > > > + int i;
> > > > av_strlcatf(buf, sizeof(buf), ", S=%d", pkt->side_data_elems);
> > > > - for (int i = 0; i < pkt->side_data_elems; i++) {
> > > > - av_strlcatf(buf, sizeof(buf), ", %8"SIZE_SPECIFIER,
> > > > - pkt->side_data[i].size);
> > > > + for (i=0; i<pkt->side_data_elems; i++) {
> > > > + const AVPacketSideData *const sd = &pkt->side_data[i];
> > > > + const uint8_t *data = sd->data;
> > > > + uint32_t side_data_crc = 0;
> > > > +
> > > > + switch (sd->type) {
> > >
> > > Wont this potentially introduce extra work for when we add new types?
> >
> > no, it will be less work
> >
> > because maintaining this in a seperate branch is the identical work
> > but in addition its also the extra work due to the seperate branch.
> > and it adds complexity if one wants to bisect.
> >
> > Every hour i have to spend maintaining this or anything
> > else in a seperate branch is an hour less i spend on the ffmpeg core
> > repository.
> You're seeing this the wrong way.
I think partly you see my position wrong and partly we disagree a bit
> You want this feature, and every day it's
> not upstreamed, it's potential extra work in your local repo. That's on you,
I do my testing for FFmpeg. Not for me. I can stop all of it and it just means
i would have more time.
[...]
> The way this should be handled is: Does the project need it, or do
> developers want it?
no, thats close but its not the correct question.
I think a better question is:
does it improve FFmpeg. Where FFmpegs value is a weighted sum of many
things like future features, future bugs, future speed, future #users,
future #developers, ...
"need" is too narrow, alot of things are good but not strictly needed
"want" is emotional and subjective, does anyone want money without working ?
Or just think of it that way. You have 2 companies, one that tries to maximize
future profits and one that does only what it needs or its members want ?
If you had to take a bet with all the money you own, in which of the 2
would you invest ?
We are not a company, but the principle is the same. For us its not profits
in dollar terms but in user satisfaction maybe.
> Because the extra work i talked about earlier is
> potentially adding a case to the switch for every new side data type added
> from now on, that you're putting on other developers' shoulders.
This is true
But also the extra tests take work off peoples sholders by recognizing bugs
related to sidedata earlier
>
> That said, I'm not against this in principle, but again, it will mean extra
> work when adding future side data types that encapsulate long elaborate
> structs.
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
No snowflake in an avalanche ever feels responsible. -- Voltaire
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
[-- Attachment #2: Type: text/plain, Size: 251 bytes --]
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2025-06-09 20:24 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-05-18 12:25 [FFmpeg-devel] [PATCH] avformat/framecrcenc: List types and checksums for for side data Michael Niedermayer
2025-05-18 12:40 ` Michael Niedermayer
2025-05-18 14:43 ` Andreas Rheinhardt
2025-05-18 19:51 ` Michael Niedermayer
2025-06-07 18:01 ` Michael Niedermayer
2025-05-18 14:43 ` James Almer
2025-05-18 21:23 ` Michael Niedermayer
2025-06-08 2:54 ` James Almer
2025-06-09 20:24 ` Michael Niedermayer
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git