Files
ladybird/Tests/LibMedia/TestVP9Decode.cpp
Zaggy1024 6b45a11716 LibMedia: Calculate Matroska block timestamps for their actual tracks
Instead of using a single track entry for all blocks in the file, use a
lookup to get the info needed to calculate the timestamp for the
specific track a block belongs to. No change in behavior for
SampleIterator, since that only returns blocks from the track that was
passed. This will be useful for MSE, since it demuxes all tracks at
once.
2026-04-01 02:54:22 -05:00

35 lines
790 B
C++

/*
* Copyright (c) 2022, Gregory Bertilson <zaggy1024@gmail.com>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include <LibMedia/FFmpeg/FFmpegVideoDecoder.h>
#include "TestMediaCommon.h"
static NonnullOwnPtr<Media::VideoDecoder> make_decoder(Media::Matroska::TrackEntry const& track)
{
return MUST(Media::FFmpeg::FFmpegVideoDecoder::try_create(Media::CodecID::VP9, track.codec_private_data()));
}
TEST_CASE(webm_in_vp9)
{
decode_video("./vp9_in_webm.webm"sv, 25, make_decoder);
}
TEST_CASE(vp9_oob_blocks)
{
decode_video("./vp9_oob_blocks.webm"sv, 240, make_decoder);
}
BENCHMARK_CASE(vp9_4k)
{
decode_video("./vp9_4k.webm"sv, 2, make_decoder);
}
BENCHMARK_CASE(vp9_clamp_reference_mvs)
{
decode_video("./vp9_clamp_reference_mvs.webm"sv, 92, make_decoder);
}