From patchwork Sat Apr 29 07:32:31 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anton Khirnov X-Patchwork-Id: 41416 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:dca6:b0:f3:34fa:f187 with SMTP id ky38csp1885738pzb; Sat, 29 Apr 2023 00:32:55 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ5uj5YEzZE5ZO0q9Q5gc7x835dqBPq0gq0jLkEzWGfEFGUSZkcy74IIICIzxjOB4AU+hBho X-Received: by 2002:a17:907:a40d:b0:92e:a1d8:bf1 with SMTP id sg13-20020a170907a40d00b0092ea1d80bf1mr6299549ejc.13.1682753574918; Sat, 29 Apr 2023 00:32:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1682753574; cv=none; d=google.com; s=arc-20160816; b=pv4i9IW3CrHpps0HaYt9S91ZaVP59Z9rA86tW6HcUZZ+Sy4ywSSD+PI7gb74lZ7PLw HSKh+f/r9svnc51xQfw6R7gJWDB2q4BgouYInxhXmbmESkZkxf9pzXNbkOpqYQOkOO8U 6EeyA7QMTymb0i+m/to8Eklx3ljlDKYRLUxbvi2u98OZtndX9P75t6S3WSDJpyZ92aPU +pZcHFalBVyoaI4yWcESdzvvcPqwd8IWQHjxsdApwNXHVJSYhVqQzK4LtWBFaDzWqGyL 278+Q8gQc8AzYUm2EdYoRGKWBrdWwxsAG/6slSApHrgz9C1sumIR7+yvmC0mjGSM2UXA sACA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:delivered-to; bh=TR189DFQ9r4/ookK8MMuXnAw4vYDiQYLGXADU8oDUbk=; b=hbBfx8w2SwV2hsg9qXyzEI+aeZASqlwZ3jGq/NLdiYFxrCPffxeSjm793la5Cl9dil ZcyLyBIyPACTZ/6gYSd+gVuHK2UpmLFJFG0E7spS6B9rlKq7u6Zp6tnd2+oQzhiuinI7 vN6qNo1cQP9r3BJ3bqGVK4js+WKPANmM0IU0MtKAz5aaWnR98c0o4PxqQPMgPmEgV2X5 QsZY7m4/Np3cHnIkJOcqTDzPseUs0i7moKl4SmpcvCYsdSJ33oVfDFAollXykak0BN5d 0UteeIUkcY5SRH1sxOqHS79o+nQTJPwzGIzf2+6yuKg7CzV3ehQIPMvA3GABvt7eYA+w MplA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id l20-20020a1709060e1400b0094e8556f038si18187606eji.934.2023.04.29.00.32.54; Sat, 29 Apr 2023 00:32:54 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EC0D868BF52; Sat, 29 Apr 2023 10:32:49 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail0.khirnov.net (red.khirnov.net [176.97.15.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F0F6468BE0C for ; Sat, 29 Apr 2023 10:32:42 +0300 (EEST) Received: from localhost (localhost [IPv6:::1]) by mail0.khirnov.net (Postfix) with ESMTP id A52212404EC for ; Sat, 29 Apr 2023 09:32:42 +0200 (CEST) Received: from mail0.khirnov.net ([IPv6:::1]) by localhost (mail0.khirnov.net [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id LJsXNuVjZZm1 for ; Sat, 29 Apr 2023 09:32:40 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:2a00:c500:561:201::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "libav.khirnov.net", Issuer "smtp.khirnov.net SMTP CA" (verified OK)) by mail0.khirnov.net (Postfix) with ESMTPS id 5677D240177 for ; Sat, 29 Apr 2023 09:32:40 +0200 (CEST) Received: from libav.khirnov.net (libav.khirnov.net [IPv6:::1]) by libav.khirnov.net (Postfix) with ESMTP id 0A3113A031B for ; Sat, 29 Apr 2023 09:32:34 +0200 (CEST) From: Anton Khirnov To: ffmpeg-devel@ffmpeg.org Date: Sat, 29 Apr 2023 09:32:31 +0200 Message-Id: <20230429073231.24932-1-anton@khirnov.net> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230428192444.GF275832@pb2> References: <20230428192444.GF275832@pb2> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] fftools/ffmpeg: rework audio-decode timestamp handling X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: tU2j2gFMw+FU Stop using InputStream.dts for generating missing timestamps for decoded frames, because it contains pre-decoding timestamps and there may be arbitrary amount of delay between input packets and output frames (e.g. dependent on the thread count when frame threading is used). It is also in AV_TIME_BASE (i.e. microseconds), which may introduce unnecessary rounding issues. New code maintains a timebase that is the inverse of the LCM of all the samplerates seen so far, and thus can accurately represent every audio sample. This timebase is used to generate missing timestamps after decoding. Changes the result of the following FATE tests * pcm_dvd-16-5.1-96000 * lavf-smjpeg * adpcm-ima-smjpeg In all of these the timestamps now better correspond to actual frame durations. --- The branch can also be downloaded as 'ffmpeg_audio_ts' in my tree. --- fftools/ffmpeg.c | 98 ++++- fftools/ffmpeg.h | 8 +- fftools/ffmpeg_demux.c | 6 +- tests/ref/fate/adpcm-ima-smjpeg | 658 ++++++++++++++-------------- tests/ref/fate/pcm_dvd-16-5.1-96000 | 8 +- tests/ref/lavf/smjpeg | 2 +- 6 files changed, 423 insertions(+), 357 deletions(-) diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c index 8829a163e0..8dcc70e879 100644 --- a/fftools/ffmpeg.c +++ b/fftools/ffmpeg.c @@ -881,6 +881,85 @@ static int send_frame_to_filters(InputStream *ist, AVFrame *decoded_frame) return ret; } +static AVRational audio_samplerate_update(InputStream *ist, const AVFrame *frame) +{ + const int prev = ist->last_frame_tb.den; + const int sr = frame->sample_rate; + + AVRational tb_new; + int64_t gcd; + + if (frame->sample_rate == ist->last_frame_sample_rate) + goto finish; + + gcd = av_gcd(prev, sr); + + if (prev / gcd >= INT_MAX / sr) { + av_log(ist, AV_LOG_WARNING, + "Audio timestamps cannot be represented exactly after " + "sample rate change: %d -> %d\n", prev, sr); + + // LCM of 192000, 44100, allows to represent all common samplerates + tb_new = (AVRational){ 1, 28224000 }; + } else + tb_new = (AVRational){ 1, prev / gcd * sr }; + + // keep the frame timebase if it is strictly better than + // the samplerate-defined one + if (frame->time_base.num == 1 && frame->time_base.den > tb_new.den && + !(frame->time_base.den % tb_new.den)) + tb_new = frame->time_base; + + if (ist->last_frame_pts != AV_NOPTS_VALUE) + ist->last_frame_pts = av_rescale_q(ist->last_frame_pts, + ist->last_frame_tb, tb_new); + ist->last_frame_duration_est = av_rescale_q(ist->last_frame_duration_est, + ist->last_frame_tb, tb_new); + + ist->last_frame_tb = tb_new; + ist->last_frame_sample_rate = frame->sample_rate; + +finish: + return ist->last_frame_tb; +} + +static void audio_ts_process(InputStream *ist, AVFrame *frame) +{ + AVRational tb_filter = (AVRational){1, frame->sample_rate}; + AVRational tb; + int64_t pts_pred; + + // on samplerate change, choose a new internal timebase for timestamp + // generation that can represent timestamps from all the samplerates + // seen so far + tb = audio_samplerate_update(ist, frame); + pts_pred = ist->last_frame_pts == AV_NOPTS_VALUE ? 0 : + ist->last_frame_pts + ist->last_frame_duration_est; + + if (frame->pts == AV_NOPTS_VALUE) { + frame->pts = pts_pred; + frame->time_base = tb; + } else if (ist->last_frame_pts != AV_NOPTS_VALUE && + frame->pts > av_rescale_q_rnd(pts_pred, tb, frame->time_base, + AV_ROUND_UP)) { + // there was a gap in timestamps, reset conversion state + ist->filter_in_rescale_delta_last = AV_NOPTS_VALUE; + } + + frame->pts = av_rescale_delta(frame->time_base, frame->pts, + tb, frame->nb_samples, + &ist->filter_in_rescale_delta_last, tb); + + ist->last_frame_pts = frame->pts; + ist->last_frame_duration_est = av_rescale_q(frame->nb_samples, + tb_filter, tb); + + // finally convert to filtering timebase + frame->pts = av_rescale_q(frame->pts, tb, tb_filter); + frame->duration = frame->nb_samples; + frame->time_base = tb_filter; +} + static int decode_audio(InputStream *ist, AVPacket *pkt, int *got_output, int *decode_failed) { @@ -910,23 +989,7 @@ static int decode_audio(InputStream *ist, AVPacket *pkt, int *got_output, ist->next_dts += ((int64_t)AV_TIME_BASE * decoded_frame->nb_samples) / decoded_frame->sample_rate; - if (decoded_frame->pts == AV_NOPTS_VALUE) { - decoded_frame->pts = ist->dts; - decoded_frame->time_base = AV_TIME_BASE_Q; - } - if (pkt && pkt->duration && ist->prev_pkt_pts != AV_NOPTS_VALUE && - pkt->pts != AV_NOPTS_VALUE && pkt->pts - ist->prev_pkt_pts > pkt->duration) - ist->filter_in_rescale_delta_last = AV_NOPTS_VALUE; - if (pkt) - ist->prev_pkt_pts = pkt->pts; - if (decoded_frame->pts != AV_NOPTS_VALUE) { - AVRational tb_filter = (AVRational){1, decoded_frame->sample_rate}; - decoded_frame->pts = av_rescale_delta(decoded_frame->time_base, decoded_frame->pts, - tb_filter, decoded_frame->nb_samples, - &ist->filter_in_rescale_delta_last, - tb_filter); - decoded_frame->time_base = tb_filter; - } + audio_ts_process(ist, decoded_frame); ist->nb_samples = decoded_frame->nb_samples; err = send_frame_to_filters(ist, decoded_frame); @@ -1076,6 +1139,7 @@ static int decode_video(InputStream *ist, AVPacket *pkt, int *got_output, int64_ // update timestamp history ist->last_frame_duration_est = video_duration_estimate(ist, decoded_frame); ist->last_frame_pts = decoded_frame->pts; + ist->last_frame_tb = decoded_frame->time_base; if (debug_ts) { av_log(ist, AV_LOG_INFO, diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h index c07a1b86b6..c4abf89b58 100644 --- a/fftools/ffmpeg.h +++ b/fftools/ffmpeg.h @@ -359,7 +359,6 @@ typedef struct InputStream { AVRational framerate_guessed; - int64_t prev_pkt_pts; int64_t start; /* time when read started */ /* predicted dts of the next packet read for this stream or (when there are * several frames in a packet) of the next frame in current packet (in AV_TIME_BASE units) */ @@ -371,10 +370,13 @@ typedef struct InputStream { int64_t next_pts; int64_t pts; ///< current pts of the decoded frame (in AV_TIME_BASE units) - // pts/estimated duration of the last decoded video frame - // in decoder timebase + // pts/estimated duration of the last decoded frame + // * in decoder timebase for video, + // * in last_frame_tb (may change during decoding) for audio int64_t last_frame_pts; int64_t last_frame_duration_est; + AVRational last_frame_tb; + int last_frame_sample_rate; int wrap_correction_done; diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c index 5afb3ff2c8..f8d95d1de6 100644 --- a/fftools/ffmpeg_demux.c +++ b/fftools/ffmpeg_demux.c @@ -864,7 +864,9 @@ static void add_input_streams(const OptionsContext *o, Demuxer *d) } ist->filter_in_rescale_delta_last = AV_NOPTS_VALUE; - ist->prev_pkt_pts = AV_NOPTS_VALUE; + + ist->last_frame_pts = AV_NOPTS_VALUE; + ist->last_frame_tb = (AVRational){ 1, 1 }; ist->dec_ctx = avcodec_alloc_context3(ist->dec); if (!ist->dec_ctx) @@ -905,8 +907,6 @@ static void add_input_streams(const OptionsContext *o, Demuxer *d) ist->framerate_guessed = av_guess_frame_rate(ic, st, NULL); - ist->last_frame_pts = AV_NOPTS_VALUE; - break; case AVMEDIA_TYPE_AUDIO: { int guess_layout_max = INT_MAX; diff --git a/tests/ref/fate/adpcm-ima-smjpeg b/tests/ref/fate/adpcm-ima-smjpeg index 723fa2336e..b9cf1f38db 100644 --- a/tests/ref/fate/adpcm-ima-smjpeg +++ b/tests/ref/fate/adpcm-ima-smjpeg @@ -8,348 +8,348 @@ 0, 1024, 1024, 512, 1024, 0xed2d3f6b 0, 1533, 1533, 512, 1024, 0x51f6ccb3 0, 2040, 2040, 512, 1024, 0x58bd75aa -0, 2558, 2558, 512, 1024, 0xd857a310 -0, 3070, 3070, 512, 1024, 0xc483a5b8 -0, 3582, 3582, 512, 1024, 0x923ecf67 -0, 4091, 4091, 512, 1024, 0xf87dcd53 +0, 2552, 2552, 512, 1024, 0xd857a310 +0, 3064, 3064, 512, 1024, 0xc483a5b8 +0, 3576, 3576, 512, 1024, 0x923ecf67 +0, 4088, 4088, 512, 1024, 0xf87dcd53 0, 4598, 4598, 512, 1024, 0xdc32c002 -0, 5116, 5116, 512, 1024, 0xb760def1 -0, 5628, 5628, 512, 1024, 0x6838d2b2 -0, 6140, 6140, 512, 1024, 0xe45aca1e -0, 6649, 6649, 512, 1024, 0xde1fb955 -0, 7166, 7166, 512, 1024, 0x9e23b949 -0, 7678, 7678, 512, 1024, 0x840cc000 -0, 8190, 8190, 512, 1024, 0x0a29cbfa -0, 8699, 8699, 512, 1024, 0x9871d4c4 +0, 5110, 5110, 512, 1024, 0xb760def1 +0, 5622, 5622, 512, 1024, 0x6838d2b2 +0, 6134, 6134, 512, 1024, 0xe45aca1e +0, 6646, 6646, 512, 1024, 0xde1fb955 +0, 7158, 7158, 512, 1024, 0x9e23b949 +0, 7670, 7670, 512, 1024, 0x840cc000 +0, 8182, 8182, 512, 1024, 0x0a29cbfa +0, 8694, 8694, 512, 1024, 0x9871d4c4 0, 9206, 9206, 512, 1024, 0xb35dc9f2 -0, 9724, 9724, 512, 1024, 0xf37fda0a -0, 10236, 10236, 512, 1024, 0xa640f990 -0, 10748, 10748, 512, 1024, 0x516fe6f5 -0, 11257, 11257, 512, 1024, 0xc78bc6a6 -0, 11775, 11775, 512, 1024, 0x700fd6ee -0, 12287, 12287, 512, 1024, 0x5383d5ad -0, 12799, 12799, 512, 1024, 0xbe01d091 -0, 13308, 13308, 512, 1024, 0x72dfcfc7 -0, 13815, 13815, 512, 1024, 0xd8fecea9 -0, 14333, 14333, 512, 1024, 0xa464d79b -0, 14845, 14845, 512, 1024, 0xf394e2cb -0, 15357, 15357, 512, 1024, 0xa301ec49 -0, 15865, 15865, 512, 1024, 0x5e09d60f -0, 16383, 16383, 512, 1024, 0xd13edd6f -0, 16895, 16895, 512, 1024, 0x7423ef39 -0, 17407, 17407, 512, 1024, 0x96e2f083 -0, 17916, 17916, 512, 1024, 0x5ed7dbee -0, 18423, 18423, 512, 1024, 0x3874f714 -0, 18941, 18941, 512, 1024, 0xa5e6edab -0, 19453, 19453, 512, 1024, 0x0a04ee3a -0, 19965, 19965, 512, 1024, 0xadfee6b9 -0, 20474, 20474, 512, 1024, 0xd0bbe6d2 -0, 20992, 20992, 512, 1024, 0x223eebb7 -0, 21504, 21504, 512, 1024, 0x0473e479 -0, 22016, 22016, 512, 1024, 0xdf15e51e -0, 22525, 22525, 512, 1024, 0xa954e483 -0, 23032, 23032, 512, 1024, 0x6df3ed03 -0, 23549, 23549, 512, 1024, 0x0860e544 -0, 24061, 24061, 512, 1024, 0xc241e8dc -0, 24573, 24573, 512, 1024, 0xd0e1d6a4 -0, 25082, 25082, 512, 1024, 0xcb2ff988 +0, 9718, 9718, 512, 1024, 0xf37fda0a +0, 10230, 10230, 512, 1024, 0xa640f990 +0, 10742, 10742, 512, 1024, 0x516fe6f5 +0, 11254, 11254, 512, 1024, 0xc78bc6a6 +0, 11766, 11766, 512, 1024, 0x700fd6ee +0, 12278, 12278, 512, 1024, 0x5383d5ad +0, 12790, 12790, 512, 1024, 0xbe01d091 +0, 13302, 13302, 512, 1024, 0x72dfcfc7 +0, 13814, 13814, 512, 1024, 0xd8fecea9 +0, 14326, 14326, 512, 1024, 0xa464d79b +0, 14838, 14838, 512, 1024, 0xf394e2cb +0, 15350, 15350, 512, 1024, 0xa301ec49 +0, 15862, 15862, 512, 1024, 0x5e09d60f +0, 16374, 16374, 512, 1024, 0xd13edd6f +0, 16886, 16886, 512, 1024, 0x7423ef39 +0, 17398, 17398, 512, 1024, 0x96e2f083 +0, 17910, 17910, 512, 1024, 0x5ed7dbee +0, 18422, 18422, 512, 1024, 0x3874f714 +0, 18934, 18934, 512, 1024, 0xa5e6edab +0, 19446, 19446, 512, 1024, 0x0a04ee3a +0, 19958, 19958, 512, 1024, 0xadfee6b9 +0, 20470, 20470, 512, 1024, 0xd0bbe6d2 +0, 20982, 20982, 512, 1024, 0x223eebb7 +0, 21494, 21494, 512, 1024, 0x0473e479 +0, 22006, 22006, 512, 1024, 0xdf15e51e +0, 22518, 22518, 512, 1024, 0xa954e483 +0, 23030, 23030, 512, 1024, 0x6df3ed03 +0, 23542, 23542, 512, 1024, 0x0860e544 +0, 24054, 24054, 512, 1024, 0xc241e8dc +0, 24566, 24566, 512, 1024, 0xd0e1d6a4 +0, 25078, 25078, 512, 1024, 0xcb2ff988 0, 25590, 25590, 512, 1024, 0x51fae08e -0, 26107, 26107, 512, 1024, 0xae39f2fc -0, 26619, 26619, 512, 1024, 0xfd74f07c -0, 27131, 27131, 512, 1024, 0x1936edc1 -0, 27640, 27640, 512, 1024, 0x95f8deae -0, 28158, 28158, 512, 1024, 0x93bdf605 -0, 28670, 28670, 512, 1024, 0x7a07dd32 -0, 29182, 29182, 512, 1024, 0x6889fdc1 -0, 29691, 29691, 512, 1024, 0x989bf024 +0, 26102, 26102, 512, 1024, 0xae39f2fc +0, 26614, 26614, 512, 1024, 0xfd74f07c +0, 27126, 27126, 512, 1024, 0x1936edc1 +0, 27638, 27638, 512, 1024, 0x95f8deae +0, 28150, 28150, 512, 1024, 0x93bdf605 +0, 28662, 28662, 512, 1024, 0x7a07dd32 +0, 29174, 29174, 512, 1024, 0x6889fdc1 +0, 29686, 29686, 512, 1024, 0x989bf024 0, 30198, 30198, 512, 1024, 0xc764ce80 -0, 30716, 30716, 512, 1024, 0x0e62d721 -0, 31228, 31228, 512, 1024, 0x59c2fbe3 -0, 31740, 31740, 512, 1024, 0xf14ee29d -0, 32249, 32249, 512, 1024, 0x02a0f21b -0, 32766, 32766, 512, 1024, 0xadb3d361 -0, 33278, 33278, 512, 1024, 0xdcb3d1fc -0, 33790, 33790, 512, 1024, 0x2924f9dc -0, 34299, 34299, 512, 1024, 0x7507ebec +0, 30710, 30710, 512, 1024, 0x0e62d721 +0, 31222, 31222, 512, 1024, 0x59c2fbe3 +0, 31734, 31734, 512, 1024, 0xf14ee29d +0, 32246, 32246, 512, 1024, 0x02a0f21b +0, 32758, 32758, 512, 1024, 0xadb3d361 +0, 33270, 33270, 512, 1024, 0xdcb3d1fc +0, 33782, 33782, 512, 1024, 0x2924f9dc +0, 34294, 34294, 512, 1024, 0x7507ebec 0, 34806, 34806, 512, 1024, 0xe009f343 -0, 35324, 35324, 512, 1024, 0x21e9e7ac -0, 35836, 35836, 512, 1024, 0x845bda9e -0, 36348, 36348, 512, 1024, 0xb1b3e632 -0, 36857, 36857, 512, 1024, 0x61ccf593 -0, 37375, 37375, 512, 1024, 0x8cdbf603 -0, 37887, 37887, 512, 1024, 0xf8f7e673 -0, 38399, 38399, 512, 1024, 0x55efdd24 -0, 38908, 38908, 512, 1024, 0x4059e8ff -0, 39415, 39415, 512, 1024, 0xb3afe5be -0, 39933, 39933, 512, 1024, 0x7236e965 -0, 40445, 40445, 512, 1024, 0xe683db69 -0, 40957, 40957, 512, 1024, 0x29e3d93c -0, 41466, 41466, 512, 1024, 0x74f2f27f -0, 41983, 41983, 512, 1024, 0x32cde3ba -0, 42495, 42495, 512, 1024, 0xe907f171 -0, 43007, 43007, 512, 1024, 0x206ae2a5 -0, 43516, 43516, 512, 1024, 0x6379efa1 -0, 44023, 44023, 512, 1024, 0x0f0fee85 -0, 44541, 44541, 512, 1024, 0x3195e314 -0, 45053, 45053, 512, 1024, 0x4646ead3 -0, 45565, 45565, 512, 1024, 0x5635dcf5 -0, 46074, 46074, 512, 1024, 0xd76fc780 -0, 46592, 46592, 512, 1024, 0x847ff8a5 -0, 47104, 47104, 512, 1024, 0xaca8eda3 -0, 47616, 47616, 512, 1024, 0x9a2de1ea -0, 48125, 48125, 512, 1024, 0xc92ff23a -0, 48632, 48632, 512, 1024, 0x0e0ef038 -0, 49149, 49149, 512, 1024, 0xc32cf495 -0, 49661, 49661, 512, 1024, 0x6ab1ec79 -0, 50173, 50173, 512, 1024, 0xe43cd8d6 -0, 50682, 50682, 512, 1024, 0x4ba2deab +0, 35318, 35318, 512, 1024, 0x21e9e7ac +0, 35830, 35830, 512, 1024, 0x845bda9e +0, 36342, 36342, 512, 1024, 0xb1b3e632 +0, 36854, 36854, 512, 1024, 0x61ccf593 +0, 37366, 37366, 512, 1024, 0x8cdbf603 +0, 37878, 37878, 512, 1024, 0xf8f7e673 +0, 38390, 38390, 512, 1024, 0x55efdd24 +0, 38902, 38902, 512, 1024, 0x4059e8ff +0, 39414, 39414, 512, 1024, 0xb3afe5be +0, 39926, 39926, 512, 1024, 0x7236e965 +0, 40438, 40438, 512, 1024, 0xe683db69 +0, 40950, 40950, 512, 1024, 0x29e3d93c +0, 41462, 41462, 512, 1024, 0x74f2f27f +0, 41974, 41974, 512, 1024, 0x32cde3ba +0, 42486, 42486, 512, 1024, 0xe907f171 +0, 42998, 42998, 512, 1024, 0x206ae2a5 +0, 43510, 43510, 512, 1024, 0x6379efa1 +0, 44022, 44022, 512, 1024, 0x0f0fee85 +0, 44534, 44534, 512, 1024, 0x3195e314 +0, 45046, 45046, 512, 1024, 0x4646ead3 +0, 45558, 45558, 512, 1024, 0x5635dcf5 +0, 46070, 46070, 512, 1024, 0xd76fc780 +0, 46582, 46582, 512, 1024, 0x847ff8a5 +0, 47094, 47094, 512, 1024, 0xaca8eda3 +0, 47606, 47606, 512, 1024, 0x9a2de1ea +0, 48118, 48118, 512, 1024, 0xc92ff23a +0, 48630, 48630, 512, 1024, 0x0e0ef038 +0, 49142, 49142, 512, 1024, 0xc32cf495 +0, 49654, 49654, 512, 1024, 0x6ab1ec79 +0, 50166, 50166, 512, 1024, 0xe43cd8d6 +0, 50678, 50678, 512, 1024, 0x4ba2deab 0, 51190, 51190, 512, 1024, 0x6d16ea0e -0, 51707, 51707, 512, 1024, 0xe5b0ee70 -0, 52219, 52219, 512, 1024, 0xcf6cf074 -0, 52731, 52731, 512, 1024, 0x2206e61d -0, 53240, 53240, 512, 1024, 0xfbb9e7e7 -0, 53758, 53758, 512, 1024, 0x2bc1e115 -0, 54270, 54270, 512, 1024, 0x4ca6e5c5 -0, 54782, 54782, 512, 1024, 0x061cead0 -0, 55291, 55291, 512, 1024, 0x3dc9f950 +0, 51702, 51702, 512, 1024, 0xe5b0ee70 +0, 52214, 52214, 512, 1024, 0xcf6cf074 +0, 52726, 52726, 512, 1024, 0x2206e61d +0, 53238, 53238, 512, 1024, 0xfbb9e7e7 +0, 53750, 53750, 512, 1024, 0x2bc1e115 +0, 54262, 54262, 512, 1024, 0x4ca6e5c5 +0, 54774, 54774, 512, 1024, 0x061cead0 +0, 55286, 55286, 512, 1024, 0x3dc9f950 0, 55798, 55798, 512, 1024, 0x9399f10d -0, 56316, 56316, 512, 1024, 0xa2bff5ae -0, 56828, 56828, 512, 1024, 0xd21de569 -0, 57340, 57340, 512, 1024, 0x1c45e3be -0, 57849, 57849, 512, 1024, 0xff5dff1c -0, 58366, 58366, 512, 1024, 0x992df5d3 -0, 58878, 58878, 512, 1024, 0xafedea2f -0, 59390, 59390, 512, 1024, 0x6e73d6a8 -0, 59899, 59899, 512, 1024, 0x72dff283 +0, 56310, 56310, 512, 1024, 0xa2bff5ae +0, 56822, 56822, 512, 1024, 0xd21de569 +0, 57334, 57334, 512, 1024, 0x1c45e3be +0, 57846, 57846, 512, 1024, 0xff5dff1c +0, 58358, 58358, 512, 1024, 0x992df5d3 +0, 58870, 58870, 512, 1024, 0xafedea2f +0, 59382, 59382, 512, 1024, 0x6e73d6a8 +0, 59894, 59894, 512, 1024, 0x72dff283 0, 60406, 60406, 512, 1024, 0x50b5f1a6 -0, 60924, 60924, 512, 1024, 0xffe1decb -0, 61436, 61436, 512, 1024, 0x8993ecff -0, 61948, 61948, 512, 1024, 0x954bd63a -0, 62457, 62457, 512, 1024, 0x4707f577 -0, 62975, 62975, 512, 1024, 0x7a88f81f -0, 63487, 63487, 512, 1024, 0xc771f537 -0, 63999, 63999, 512, 1024, 0x7aade6af -0, 64508, 64508, 512, 1024, 0x8af5ede5 -0, 65015, 65015, 512, 1024, 0x7500f3f1 -0, 65533, 65533, 512, 1024, 0xea36f707 -0, 66045, 66045, 512, 1024, 0x1a26e39a -0, 66557, 66557, 512, 1024, 0xa04cf00d -0, 67066, 67066, 512, 1024, 0xc362f182 -0, 67583, 67583, 512, 1024, 0x79c8f82c -0, 68095, 68095, 512, 1024, 0x6480eee1 -0, 68607, 68607, 512, 1024, 0x7152eaa0 -0, 69116, 69116, 512, 1024, 0x5dfee6a9 -0, 69623, 69623, 512, 1024, 0x0afae660 -0, 70141, 70141, 512, 1024, 0xdc98e9fc -0, 70653, 70653, 512, 1024, 0x10b7da06 -0, 71165, 71165, 512, 1024, 0x0571e585 -0, 71674, 71674, 512, 1024, 0x18ddf45e -0, 72192, 72192, 512, 1024, 0x2cbef242 -0, 72704, 72704, 512, 1024, 0xf5380845 -0, 73216, 73216, 512, 1024, 0x34fff45e -0, 73725, 73725, 512, 1024, 0x6f97e490 -0, 74232, 74232, 512, 1024, 0x77d6f0db -0, 74750, 74750, 512, 1024, 0xa25ce2db -0, 75262, 75262, 512, 1024, 0x8260e4e9 -0, 75774, 75774, 512, 1024, 0xc3b2f7d2 -0, 76282, 76282, 512, 1024, 0x82a7edae +0, 60918, 60918, 512, 1024, 0xffe1decb +0, 61430, 61430, 512, 1024, 0x8993ecff +0, 61942, 61942, 512, 1024, 0x954bd63a +0, 62454, 62454, 512, 1024, 0x4707f577 +0, 62966, 62966, 512, 1024, 0x7a88f81f +0, 63478, 63478, 512, 1024, 0xc771f537 +0, 63990, 63990, 512, 1024, 0x7aade6af +0, 64502, 64502, 512, 1024, 0x8af5ede5 +0, 65014, 65014, 512, 1024, 0x7500f3f1 +0, 65526, 65526, 512, 1024, 0xea36f707 +0, 66038, 66038, 512, 1024, 0x1a26e39a +0, 66550, 66550, 512, 1024, 0xa04cf00d +0, 67062, 67062, 512, 1024, 0xc362f182 +0, 67574, 67574, 512, 1024, 0x79c8f82c +0, 68086, 68086, 512, 1024, 0x6480eee1 +0, 68598, 68598, 512, 1024, 0x7152eaa0 +0, 69110, 69110, 512, 1024, 0x5dfee6a9 +0, 69622, 69622, 512, 1024, 0x0afae660 +0, 70134, 70134, 512, 1024, 0xdc98e9fc +0, 70646, 70646, 512, 1024, 0x10b7da06 +0, 71158, 71158, 512, 1024, 0x0571e585 +0, 71670, 71670, 512, 1024, 0x18ddf45e +0, 72182, 72182, 512, 1024, 0x2cbef242 +0, 72694, 72694, 512, 1024, 0xf5380845 +0, 73206, 73206, 512, 1024, 0x34fff45e +0, 73718, 73718, 512, 1024, 0x6f97e490 +0, 74230, 74230, 512, 1024, 0x77d6f0db +0, 74742, 74742, 512, 1024, 0xa25ce2db +0, 75254, 75254, 512, 1024, 0x8260e4e9 +0, 75766, 75766, 512, 1024, 0xc3b2f7d2 +0, 76278, 76278, 512, 1024, 0x82a7edae 0, 76790, 76790, 512, 1024, 0x7d08dd54 -0, 77307, 77307, 512, 1024, 0x9059eda6 -0, 77819, 77819, 512, 1024, 0xbebaec88 -0, 78331, 78331, 512, 1024, 0xd9afd586 -0, 78840, 78840, 512, 1024, 0x0ca3e622 -0, 79358, 79358, 512, 1024, 0x4123e9e6 -0, 79870, 79870, 512, 1024, 0x2ff9f95c -0, 80382, 80382, 512, 1024, 0x8522e261 -0, 80891, 80891, 512, 1024, 0xe4f8f499 +0, 77302, 77302, 512, 1024, 0x9059eda6 +0, 77814, 77814, 512, 1024, 0xbebaec88 +0, 78326, 78326, 512, 1024, 0xd9afd586 +0, 78838, 78838, 512, 1024, 0x0ca3e622 +0, 79350, 79350, 512, 1024, 0x4123e9e6 +0, 79862, 79862, 512, 1024, 0x2ff9f95c +0, 80374, 80374, 512, 1024, 0x8522e261 +0, 80886, 80886, 512, 1024, 0xe4f8f499 0, 81398, 81398, 512, 1024, 0x34f3f2bd -0, 81916, 81916, 512, 1024, 0x82efe863 -0, 82428, 82428, 512, 1024, 0x9966fcea -0, 82940, 82940, 512, 1024, 0xe94de3fd -0, 83449, 83449, 512, 1024, 0x1ce0e27b -0, 83966, 83966, 512, 1024, 0xd718dcde -0, 84478, 84478, 512, 1024, 0xd503e724 -0, 84990, 84990, 512, 1024, 0x427ee3b2 -0, 85499, 85499, 512, 1024, 0x4512dcc4 -0, 86007, 86007, 512, 1024, 0xcf31e77c -0, 86524, 86524, 512, 1024, 0xeb41ea81 -0, 87036, 87036, 512, 1024, 0xfa43e67c -0, 87548, 87548, 512, 1024, 0x8162f3c9 -0, 88057, 88057, 512, 1024, 0x1b55f6b0 -0, 88575, 88575, 512, 1024, 0x3ebeec44 -0, 89087, 89087, 512, 1024, 0x740fe0c4 -0, 89599, 89599, 512, 1024, 0x8fb4e8b2 -0, 90108, 90108, 512, 1024, 0xe49de6a2 -0, 90615, 90615, 512, 1024, 0xd64febdf -0, 91133, 91133, 512, 1024, 0x0e74ee08 -0, 91645, 91645, 512, 1024, 0x6c0ddf07 -0, 92157, 92157, 512, 1024, 0x7fb8e3c9 -0, 92666, 92666, 512, 1024, 0x52bfe96c -0, 93183, 93183, 512, 1024, 0xfc22ee64 -0, 93695, 93695, 512, 1024, 0xe20ae718 -0, 94207, 94207, 512, 1024, 0xa94be395 -0, 94716, 94716, 512, 1024, 0xded306d0 -0, 95223, 95223, 512, 1024, 0x31f7c831 -0, 95741, 95741, 512, 1024, 0x0ffde0a8 -0, 96253, 96253, 512, 1024, 0xc692e3e0 -0, 96765, 96765, 512, 1024, 0x1d8ff7c7 -0, 97274, 97274, 512, 1024, 0x038ee172 -0, 97792, 97792, 512, 1024, 0x9a1eef59 -0, 98304, 98304, 512, 1024, 0x158fe750 -0, 98816, 98816, 512, 1024, 0xac15e42c -0, 99325, 99325, 512, 1024, 0x6323ed44 -0, 99832, 99832, 512, 1024, 0xd10ce4bb -0, 100350, 100350, 512, 1024, 0xc1cce296 -0, 100862, 100862, 512, 1024, 0x0782f094 -0, 101374, 101374, 512, 1024, 0xd109de36 -0, 101883, 101883, 512, 1024, 0x175600fb +0, 81910, 81910, 512, 1024, 0x82efe863 +0, 82422, 82422, 512, 1024, 0x9966fcea +0, 82934, 82934, 512, 1024, 0xe94de3fd +0, 83446, 83446, 512, 1024, 0x1ce0e27b +0, 83958, 83958, 512, 1024, 0xd718dcde +0, 84470, 84470, 512, 1024, 0xd503e724 +0, 84982, 84982, 512, 1024, 0x427ee3b2 +0, 85494, 85494, 512, 1024, 0x4512dcc4 +0, 86006, 86006, 512, 1024, 0xcf31e77c +0, 86518, 86518, 512, 1024, 0xeb41ea81 +0, 87030, 87030, 512, 1024, 0xfa43e67c +0, 87542, 87542, 512, 1024, 0x8162f3c9 +0, 88054, 88054, 512, 1024, 0x1b55f6b0 +0, 88566, 88566, 512, 1024, 0x3ebeec44 +0, 89078, 89078, 512, 1024, 0x740fe0c4 +0, 89590, 89590, 512, 1024, 0x8fb4e8b2 +0, 90102, 90102, 512, 1024, 0xe49de6a2 +0, 90614, 90614, 512, 1024, 0xd64febdf +0, 91126, 91126, 512, 1024, 0x0e74ee08 +0, 91638, 91638, 512, 1024, 0x6c0ddf07 +0, 92150, 92150, 512, 1024, 0x7fb8e3c9 +0, 92662, 92662, 512, 1024, 0x52bfe96c +0, 93174, 93174, 512, 1024, 0xfc22ee64 +0, 93686, 93686, 512, 1024, 0xe20ae718 +0, 94198, 94198, 512, 1024, 0xa94be395 +0, 94710, 94710, 512, 1024, 0xded306d0 +0, 95222, 95222, 512, 1024, 0x31f7c831 +0, 95734, 95734, 512, 1024, 0x0ffde0a8 +0, 96246, 96246, 512, 1024, 0xc692e3e0 +0, 96758, 96758, 512, 1024, 0x1d8ff7c7 +0, 97270, 97270, 512, 1024, 0x038ee172 +0, 97782, 97782, 512, 1024, 0x9a1eef59 +0, 98294, 98294, 512, 1024, 0x158fe750 +0, 98806, 98806, 512, 1024, 0xac15e42c +0, 99318, 99318, 512, 1024, 0x6323ed44 +0, 99830, 99830, 512, 1024, 0xd10ce4bb +0, 100342, 100342, 512, 1024, 0xc1cce296 +0, 100854, 100854, 512, 1024, 0x0782f094 +0, 101366, 101366, 512, 1024, 0xd109de36 +0, 101878, 101878, 512, 1024, 0x175600fb 0, 102390, 102390, 512, 1024, 0x95d5e8d9 -0, 102907, 102907, 512, 1024, 0xebb6eee1 -0, 103419, 103419, 512, 1024, 0x187cfadc -0, 103931, 103931, 512, 1024, 0xce35fa5c -0, 104440, 104440, 512, 1024, 0x8327eea2 -0, 104958, 104958, 512, 1024, 0x5543f219 -0, 105470, 105470, 512, 1024, 0xaacbe0dc -0, 105982, 105982, 512, 1024, 0xa538e9fb -0, 106491, 106491, 512, 1024, 0x4dcbe655 +0, 102902, 102902, 512, 1024, 0xebb6eee1 +0, 103414, 103414, 512, 1024, 0x187cfadc +0, 103926, 103926, 512, 1024, 0xce35fa5c +0, 104438, 104438, 512, 1024, 0x8327eea2 +0, 104950, 104950, 512, 1024, 0x5543f219 +0, 105462, 105462, 512, 1024, 0xaacbe0dc +0, 105974, 105974, 512, 1024, 0xa538e9fb +0, 106486, 106486, 512, 1024, 0x4dcbe655 0, 106998, 106998, 512, 1024, 0x86b6d93b -0, 107516, 107516, 512, 1024, 0x1a06f878 -0, 108028, 108028, 512, 1024, 0xd926e8ef -0, 108540, 108540, 512, 1024, 0xc624db2f -0, 109049, 109049, 512, 1024, 0x2153e20d -0, 109566, 109566, 512, 1024, 0x01dce868 -0, 110078, 110078, 512, 1024, 0xfa5fd3cd -0, 110590, 110590, 512, 1024, 0x2adef2d5 -0, 111099, 111099, 512, 1024, 0x4f48f8e2 -0, 111607, 111607, 512, 1024, 0x613feeee -0, 112124, 112124, 512, 1024, 0x3780de8a -0, 112636, 112636, 512, 1024, 0x2093eb65 -0, 113148, 113148, 512, 1024, 0x54baebbb -0, 113657, 113657, 512, 1024, 0x8686dd7c -0, 114175, 114175, 512, 1024, 0x7f8ae80c -0, 114687, 114687, 512, 1024, 0x7aede972 -0, 115199, 115199, 512, 1024, 0x971bebc0 -0, 115708, 115708, 512, 1024, 0x2dd5fd4b -0, 116215, 116215, 512, 1024, 0xb1b3e4a3 -0, 116733, 116733, 512, 1024, 0x192defc6 -0, 117245, 117245, 512, 1024, 0x5e46ec44 -0, 117757, 117757, 512, 1024, 0xe6d8e05a -0, 118266, 118266, 512, 1024, 0x7e2fe2b0 -0, 118783, 118783, 512, 1024, 0x9e3bdf80 -0, 119295, 119295, 512, 1024, 0xa98cd85e -0, 119807, 119807, 512, 1024, 0x6061e0c4 -0, 120316, 120316, 512, 1024, 0x6112f3fc -0, 120823, 120823, 512, 1024, 0x99bdfb01 -0, 121341, 121341, 512, 1024, 0x3f5df3ca -0, 121853, 121853, 512, 1024, 0xf5ebeb05 -0, 122365, 122365, 512, 1024, 0x8498e565 -0, 122874, 122874, 512, 1024, 0x0497f0b7 -0, 123392, 123392, 512, 1024, 0x626ae800 -0, 123904, 123904, 512, 1024, 0xfb71eec4 -0, 124416, 124416, 512, 1024, 0xa86ee739 -0, 124925, 124925, 512, 1024, 0x25c0e050 -0, 125432, 125432, 512, 1024, 0x6027e91e -0, 125950, 125950, 512, 1024, 0x6772df6e -0, 126462, 126462, 512, 1024, 0xfefff844 -0, 126974, 126974, 512, 1024, 0x547be862 -0, 127483, 127483, 512, 1024, 0xca84e795 +0, 107510, 107510, 512, 1024, 0x1a06f878 +0, 108022, 108022, 512, 1024, 0xd926e8ef +0, 108534, 108534, 512, 1024, 0xc624db2f +0, 109046, 109046, 512, 1024, 0x2153e20d +0, 109558, 109558, 512, 1024, 0x01dce868 +0, 110070, 110070, 512, 1024, 0xfa5fd3cd +0, 110582, 110582, 512, 1024, 0x2adef2d5 +0, 111094, 111094, 512, 1024, 0x4f48f8e2 +0, 111606, 111606, 512, 1024, 0x613feeee +0, 112118, 112118, 512, 1024, 0x3780de8a +0, 112630, 112630, 512, 1024, 0x2093eb65 +0, 113142, 113142, 512, 1024, 0x54baebbb +0, 113654, 113654, 512, 1024, 0x8686dd7c +0, 114166, 114166, 512, 1024, 0x7f8ae80c +0, 114678, 114678, 512, 1024, 0x7aede972 +0, 115190, 115190, 512, 1024, 0x971bebc0 +0, 115702, 115702, 512, 1024, 0x2dd5fd4b +0, 116214, 116214, 512, 1024, 0xb1b3e4a3 +0, 116726, 116726, 512, 1024, 0x192defc6 +0, 117238, 117238, 512, 1024, 0x5e46ec44 +0, 117750, 117750, 512, 1024, 0xe6d8e05a +0, 118262, 118262, 512, 1024, 0x7e2fe2b0 +0, 118774, 118774, 512, 1024, 0x9e3bdf80 +0, 119286, 119286, 512, 1024, 0xa98cd85e +0, 119798, 119798, 512, 1024, 0x6061e0c4 +0, 120310, 120310, 512, 1024, 0x6112f3fc +0, 120822, 120822, 512, 1024, 0x99bdfb01 +0, 121334, 121334, 512, 1024, 0x3f5df3ca +0, 121846, 121846, 512, 1024, 0xf5ebeb05 +0, 122358, 122358, 512, 1024, 0x8498e565 +0, 122870, 122870, 512, 1024, 0x0497f0b7 +0, 123382, 123382, 512, 1024, 0x626ae800 +0, 123894, 123894, 512, 1024, 0xfb71eec4 +0, 124406, 124406, 512, 1024, 0xa86ee739 +0, 124918, 124918, 512, 1024, 0x25c0e050 +0, 125430, 125430, 512, 1024, 0x6027e91e +0, 125942, 125942, 512, 1024, 0x6772df6e +0, 126454, 126454, 512, 1024, 0xfefff844 +0, 126966, 126966, 512, 1024, 0x547be862 +0, 127478, 127478, 512, 1024, 0xca84e795 0, 127990, 127990, 512, 1024, 0xd124db3e -0, 128507, 128507, 512, 1024, 0xcaf3deb5 -0, 129019, 129019, 512, 1024, 0x487ce92d -0, 129531, 129531, 512, 1024, 0x117feb95 -0, 130040, 130040, 512, 1024, 0x7b63de3d -0, 130558, 130558, 512, 1024, 0xa529d8e1 -0, 131070, 131070, 512, 1024, 0x56f6da26 -0, 131582, 131582, 512, 1024, 0xffb8d5af -0, 132091, 132091, 512, 1024, 0xeecbdc04 +0, 128502, 128502, 512, 1024, 0xcaf3deb5 +0, 129014, 129014, 512, 1024, 0x487ce92d +0, 129526, 129526, 512, 1024, 0x117feb95 +0, 130038, 130038, 512, 1024, 0x7b63de3d +0, 130550, 130550, 512, 1024, 0xa529d8e1 +0, 131062, 131062, 512, 1024, 0x56f6da26 +0, 131574, 131574, 512, 1024, 0xffb8d5af +0, 132086, 132086, 512, 1024, 0xeecbdc04 0, 132598, 132598, 512, 1024, 0xfc59d2d2 -0, 133116, 133116, 512, 1024, 0xaf7acef7 -0, 133628, 133628, 512, 1024, 0x3f9bf258 -0, 134140, 134140, 512, 1024, 0xcf54e9d6 -0, 134649, 134649, 512, 1024, 0x680cd0aa -0, 135167, 135167, 512, 1024, 0x3c1bdc1f -0, 135679, 135679, 512, 1024, 0x8c8ffe22 -0, 136191, 136191, 512, 1024, 0xf415d362 -0, 136699, 136699, 512, 1024, 0x8c8cdaa9 -0, 137207, 137207, 512, 1024, 0x9531e9f1 -0, 137724, 137724, 512, 1024, 0x223ce536 -0, 138236, 138236, 512, 1024, 0xdfbce5f9 -0, 138748, 138748, 512, 1024, 0x20b6ed7d -0, 139257, 139257, 512, 1024, 0x1a17e109 -0, 139775, 139775, 512, 1024, 0xc672eaea -0, 140287, 140287, 512, 1024, 0x12a7dc5e -0, 140799, 140799, 512, 1024, 0x4497f342 -0, 141308, 141308, 512, 1024, 0xdfb5db4b -0, 141815, 141815, 512, 1024, 0xde48ef6c -0, 142333, 142333, 512, 1024, 0x1d98e316 -0, 142845, 142845, 512, 1024, 0xbd2ad72f -0, 143357, 143357, 512, 1024, 0xf1aad776 -0, 143866, 143866, 512, 1024, 0x4db3e3c0 -0, 144383, 144383, 512, 1024, 0x832de0a0 -0, 144895, 144895, 512, 1024, 0xc5f0ef25 -0, 145407, 145407, 512, 1024, 0x419bda6e -0, 145916, 145916, 512, 1024, 0x5de7f77e -0, 146424, 146424, 512, 1024, 0x0063ec9a -0, 146941, 146941, 512, 1024, 0x10c3d470 -0, 147453, 147453, 512, 1024, 0xba66d226 -0, 147965, 147965, 512, 1024, 0xea47ded3 -0, 148474, 148474, 512, 1024, 0x6202d67b -0, 148992, 148992, 512, 1024, 0x3f80e7cf -0, 149504, 149504, 512, 1024, 0x4e64eaae -0, 150016, 150016, 512, 1024, 0x2108e83d -0, 150525, 150525, 512, 1024, 0x38c3dec1 -0, 151032, 151032, 512, 1024, 0x46d3f77a -0, 151550, 151550, 512, 1024, 0x4838e787 -0, 152062, 152062, 512, 1024, 0xc71df16d -0, 152574, 152574, 512, 1024, 0xdbe4ebbd -0, 153083, 153083, 512, 1024, 0xa156d07b +0, 133110, 133110, 512, 1024, 0xaf7acef7 +0, 133622, 133622, 512, 1024, 0x3f9bf258 +0, 134134, 134134, 512, 1024, 0xcf54e9d6 +0, 134646, 134646, 512, 1024, 0x680cd0aa +0, 135158, 135158, 512, 1024, 0x3c1bdc1f +0, 135670, 135670, 512, 1024, 0x8c8ffe22 +0, 136182, 136182, 512, 1024, 0xf415d362 +0, 136694, 136694, 512, 1024, 0x8c8cdaa9 +0, 137206, 137206, 512, 1024, 0x9531e9f1 +0, 137718, 137718, 512, 1024, 0x223ce536 +0, 138230, 138230, 512, 1024, 0xdfbce5f9 +0, 138742, 138742, 512, 1024, 0x20b6ed7d +0, 139254, 139254, 512, 1024, 0x1a17e109 +0, 139766, 139766, 512, 1024, 0xc672eaea +0, 140278, 140278, 512, 1024, 0x12a7dc5e +0, 140790, 140790, 512, 1024, 0x4497f342 +0, 141302, 141302, 512, 1024, 0xdfb5db4b +0, 141814, 141814, 512, 1024, 0xde48ef6c +0, 142326, 142326, 512, 1024, 0x1d98e316 +0, 142838, 142838, 512, 1024, 0xbd2ad72f +0, 143350, 143350, 512, 1024, 0xf1aad776 +0, 143862, 143862, 512, 1024, 0x4db3e3c0 +0, 144374, 144374, 512, 1024, 0x832de0a0 +0, 144886, 144886, 512, 1024, 0xc5f0ef25 +0, 145398, 145398, 512, 1024, 0x419bda6e +0, 145910, 145910, 512, 1024, 0x5de7f77e +0, 146422, 146422, 512, 1024, 0x0063ec9a +0, 146934, 146934, 512, 1024, 0x10c3d470 +0, 147446, 147446, 512, 1024, 0xba66d226 +0, 147958, 147958, 512, 1024, 0xea47ded3 +0, 148470, 148470, 512, 1024, 0x6202d67b +0, 148982, 148982, 512, 1024, 0x3f80e7cf +0, 149494, 149494, 512, 1024, 0x4e64eaae +0, 150006, 150006, 512, 1024, 0x2108e83d +0, 150518, 150518, 512, 1024, 0x38c3dec1 +0, 151030, 151030, 512, 1024, 0x46d3f77a +0, 151542, 151542, 512, 1024, 0x4838e787 +0, 152054, 152054, 512, 1024, 0xc71df16d +0, 152566, 152566, 512, 1024, 0xdbe4ebbd +0, 153078, 153078, 512, 1024, 0xa156d07b 0, 153590, 153590, 512, 1024, 0x34eddc80 -0, 154107, 154107, 512, 1024, 0xe840e87c -0, 154619, 154619, 512, 1024, 0x6accf8f5 -0, 155131, 155131, 512, 1024, 0xa1dbebb9 -0, 155640, 155640, 512, 1024, 0x6d07d98c -0, 156158, 156158, 512, 1024, 0x94c7e805 -0, 156670, 156670, 512, 1024, 0x5199e586 -0, 157182, 157182, 512, 1024, 0xe797e1aa -0, 157691, 157691, 512, 1024, 0xff19eda7 +0, 154102, 154102, 512, 1024, 0xe840e87c +0, 154614, 154614, 512, 1024, 0x6accf8f5 +0, 155126, 155126, 512, 1024, 0xa1dbebb9 +0, 155638, 155638, 512, 1024, 0x6d07d98c +0, 156150, 156150, 512, 1024, 0x94c7e805 +0, 156662, 156662, 512, 1024, 0x5199e586 +0, 157174, 157174, 512, 1024, 0xe797e1aa +0, 157686, 157686, 512, 1024, 0xff19eda7 0, 158198, 158198, 512, 1024, 0x9cb9d040 -0, 158716, 158716, 512, 1024, 0xaeedd325 -0, 159228, 159228, 512, 1024, 0xf5ade306 -0, 159740, 159740, 512, 1024, 0x54a5e129 -0, 160249, 160249, 512, 1024, 0x6665ddeb -0, 160767, 160767, 512, 1024, 0x9d18e033 -0, 161279, 161279, 512, 1024, 0x7f23df74 -0, 161791, 161791, 512, 1024, 0x7c34f158 -0, 162300, 162300, 512, 1024, 0x47f6dae2 -0, 162807, 162807, 512, 1024, 0x5ffdd903 -0, 163324, 163324, 512, 1024, 0x8233d108 -0, 163836, 163836, 512, 1024, 0x45c6e20d -0, 164348, 164348, 512, 1024, 0xae11fa6e -0, 164857, 164857, 512, 1024, 0xa30defd2 -0, 165375, 165375, 512, 1024, 0xfc1ecccf -0, 165887, 165887, 512, 1024, 0x920edc94 -0, 166399, 166399, 512, 1024, 0xd7f3dc58 -0, 166908, 166908, 512, 1024, 0x4972d37d -0, 167415, 167415, 512, 1024, 0xfefef358 -0, 167933, 167933, 512, 1024, 0x3648e473 -0, 168445, 168445, 512, 1024, 0x58dee6c3 -0, 168957, 168957, 512, 1024, 0x9cc6df27 -0, 169466, 169466, 512, 1024, 0x6adfe99c -0, 169983, 169983, 512, 1024, 0x6a56e11f -0, 170495, 170495, 512, 1024, 0x4860edf1 -0, 171007, 171007, 512, 1024, 0x9132f10a -0, 171516, 171516, 512, 1024, 0x3e09d209 -0, 172024, 172024, 512, 1024, 0x4b6bf4d8 -0, 172541, 172541, 512, 1024, 0x0cd5e838 -0, 173053, 173053, 512, 1024, 0x080be078 -0, 173565, 173565, 512, 1024, 0xfdb0e31c -0, 174074, 174074, 512, 1024, 0xced5e7bd -0, 174592, 174592, 512, 1024, 0x65b3e435 -0, 175104, 175104, 512, 1024, 0x5b5bfe2e -0, 175616, 175616, 512, 1024, 0xa8bde3cb -0, 176125, 176125, 512, 1024, 0xfd0fdefa -0, 176632, 176632, 512, 1024, 0xbec4ef95 -0, 177150, 177150, 512, 1024, 0x683ad8dd -0, 177662, 177662, 512, 1024, 0x8eefeb77 -0, 178174, 178174, 512, 1024, 0x84fc5878 -0, 178683, 178683, 512, 1024, 0x9a0ded60 +0, 158710, 158710, 512, 1024, 0xaeedd325 +0, 159222, 159222, 512, 1024, 0xf5ade306 +0, 159734, 159734, 512, 1024, 0x54a5e129 +0, 160246, 160246, 512, 1024, 0x6665ddeb +0, 160758, 160758, 512, 1024, 0x9d18e033 +0, 161270, 161270, 512, 1024, 0x7f23df74 +0, 161782, 161782, 512, 1024, 0x7c34f158 +0, 162294, 162294, 512, 1024, 0x47f6dae2 +0, 162806, 162806, 512, 1024, 0x5ffdd903 +0, 163318, 163318, 512, 1024, 0x8233d108 +0, 163830, 163830, 512, 1024, 0x45c6e20d +0, 164342, 164342, 512, 1024, 0xae11fa6e +0, 164854, 164854, 512, 1024, 0xa30defd2 +0, 165366, 165366, 512, 1024, 0xfc1ecccf +0, 165878, 165878, 512, 1024, 0x920edc94 +0, 166390, 166390, 512, 1024, 0xd7f3dc58 +0, 166902, 166902, 512, 1024, 0x4972d37d +0, 167414, 167414, 512, 1024, 0xfefef358 +0, 167926, 167926, 512, 1024, 0x3648e473 +0, 168438, 168438, 512, 1024, 0x58dee6c3 +0, 168950, 168950, 512, 1024, 0x9cc6df27 +0, 169462, 169462, 512, 1024, 0x6adfe99c +0, 169974, 169974, 512, 1024, 0x6a56e11f +0, 170486, 170486, 512, 1024, 0x4860edf1 +0, 170998, 170998, 512, 1024, 0x9132f10a +0, 171510, 171510, 512, 1024, 0x3e09d209 +0, 172022, 172022, 512, 1024, 0x4b6bf4d8 +0, 172534, 172534, 512, 1024, 0x0cd5e838 +0, 173046, 173046, 512, 1024, 0x080be078 +0, 173558, 173558, 512, 1024, 0xfdb0e31c +0, 174070, 174070, 512, 1024, 0xced5e7bd +0, 174582, 174582, 512, 1024, 0x65b3e435 +0, 175094, 175094, 512, 1024, 0x5b5bfe2e +0, 175606, 175606, 512, 1024, 0xa8bde3cb +0, 176118, 176118, 512, 1024, 0xfd0fdefa +0, 176630, 176630, 512, 1024, 0xbec4ef95 +0, 177142, 177142, 512, 1024, 0x683ad8dd +0, 177654, 177654, 512, 1024, 0x8eefeb77 +0, 178166, 178166, 512, 1024, 0x84fc5878 +0, 178678, 178678, 512, 1024, 0x9a0ded60 diff --git a/tests/ref/fate/pcm_dvd-16-5.1-96000 b/tests/ref/fate/pcm_dvd-16-5.1-96000 index 64447a9aa5..68dce2d3a6 100644 --- a/tests/ref/fate/pcm_dvd-16-5.1-96000 +++ b/tests/ref/fate/pcm_dvd-16-5.1-96000 @@ -13,7 +13,7 @@ d8e182dfa46524c28d1f78a4cc1f2719 *tests/data/fate/pcm_dvd-16-5.1-96000.vob 0, 835, 835, 167, 2004, 0x00000000 0, 1002, 1002, 167, 2004, 0x00000000 0, 1169, 1169, 167, 2004, 0x00000000 -0, 1337, 1337, 167, 2004, 0x00000000 +0, 1336, 1336, 167, 2004, 0x00000000 0, 1503, 1503, 167, 2004, 0x00000000 0, 1670, 1670, 167, 2004, 0x00000000 0, 1837, 1837, 167, 2004, 0x00000000 @@ -29,7 +29,7 @@ d8e182dfa46524c28d1f78a4cc1f2719 *tests/data/fate/pcm_dvd-16-5.1-96000.vob 0, 3507, 3507, 167, 2004, 0x00000000 0, 3674, 3674, 167, 2004, 0x00000000 0, 3841, 3841, 167, 2004, 0x00000000 -0, 4009, 4009, 167, 2004, 0x00000000 +0, 4008, 4008, 167, 2004, 0x00000000 0, 4175, 4175, 167, 2004, 0x00000000 0, 4342, 4342, 167, 2004, 0x00000000 0, 4509, 4509, 167, 2004, 0x00000000 @@ -45,7 +45,7 @@ d8e182dfa46524c28d1f78a4cc1f2719 *tests/data/fate/pcm_dvd-16-5.1-96000.vob 0, 6179, 6179, 167, 2004, 0x00000000 0, 6346, 6346, 167, 2004, 0x00000000 0, 6513, 6513, 167, 2004, 0x00000000 -0, 6681, 6681, 166, 1992, 0x00000000 -0, 6847, 6847, 167, 2004, 0x00000000 +0, 6680, 6680, 166, 1992, 0x00000000 +0, 6846, 6846, 167, 2004, 0x00000000 0, 7014, 7014, 167, 2004, 0x00000000 0, 7181, 7181, 101, 1212, 0x00000000 diff --git a/tests/ref/lavf/smjpeg b/tests/ref/lavf/smjpeg index 94172a6b1e..537c0847cb 100644 --- a/tests/ref/lavf/smjpeg +++ b/tests/ref/lavf/smjpeg @@ -1,3 +1,3 @@ 3fe90213ac4f5275eb85ad0a4e4bdb44 *tests/data/lavf/lavf.smjpeg 728642 tests/data/lavf/lavf.smjpeg -tests/data/lavf/lavf.smjpeg CRC=0x75066147 +tests/data/lavf/lavf.smjpeg CRC=0x54bf6147