From 9df72080a114ae4f16703e1a71432d79d0ce60b3 Mon Sep 17 00:00:00 2001 From: Zaggy1024 Date: Mon, 28 Nov 2022 01:39:42 -0600 Subject: [PATCH] LibVideo/VP9: Add FIXME about implementation of tiled decoding --- Userland/Libraries/LibVideo/VP9/Parser.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Userland/Libraries/LibVideo/VP9/Parser.cpp b/Userland/Libraries/LibVideo/VP9/Parser.cpp index 451385e0f9..f2448938f4 100644 --- a/Userland/Libraries/LibVideo/VP9/Parser.cpp +++ b/Userland/Libraries/LibVideo/VP9/Parser.cpp @@ -852,6 +852,10 @@ DecoderErrorOr Parser::decode_tiles(FrameContext& frame_context) clear_above_context(frame_context); NonZeroTokens above_non_zero_tokens = DECODER_TRY_ALLOC(create_non_zero_tokens(blocks_to_sub_blocks(frame_context.columns()), frame_context.color_config.subsampling_x)); + // FIXME: To implement tiled decoding, we'll need to pre-parse the tile positions and sizes into a 2D vector of ReadonlyBytes, + // then run through each column of tiles in top to bottom order afterward. Each column can be sent to a worker thread + // for execution. Each worker thread will want to create a set of above contexts sized to its tile width, then provide + // those to each tile as it decodes them. for (auto tile_row = 0; tile_row < tile_rows; tile_row++) { for (auto tile_col = 0; tile_col < tile_cols; tile_col++) { auto last_tile = (tile_row == tile_rows - 1) && (tile_col == tile_cols - 1);