Prechádzať zdrojové kódy

LibVideo/VP9: Add FIXME about implementation of tiled decoding

Zaggy1024 2 rokov pred
rodič
commit
9df72080a1

+ 4 - 0
Userland/Libraries/LibVideo/VP9/Parser.cpp

@@ -852,6 +852,10 @@ DecoderErrorOr<void> 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);