Explorar o código

LibVideo/VP9: Add FIXME about implementation of tiled decoding

Zaggy1024 %!s(int64=2) %!d(string=hai) anos
pai
achega
9df72080a1
Modificáronse 1 ficheiros con 4 adicións e 0 borrados
  1. 4 0
      Userland/Libraries/LibVideo/VP9/Parser.cpp

+ 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);