vp9_loop_filter_frame_mt: pass VP9LfSync directly
authorJames Zern <jzern@google.com>
Sun, 31 Aug 2014 19:21:42 +0000 (12:21 -0700)
committerJames Zern <jzern@google.com>
Thu, 16 Oct 2014 15:27:57 +0000 (17:27 +0200)
a step towards removing the pbi dependency

Change-Id: I10747b325e81c172f5e67031ea5159159fc26e91

vp9/decoder/vp9_decodeframe.c
vp9/decoder/vp9_dthread.c
vp9/decoder/vp9_dthread.h

index 08f5182..1b22572 100644 (file)
@@ -1563,7 +1563,8 @@ void vp9_decode_frame(VP9Decoder *pbi,
     if (!xd->corrupted) {
       // If multiple threads are used to decode tiles, then we use those threads
       // to do parallel loopfiltering.
-      vp9_loop_filter_frame_mt(new_fb, pbi, cm, cm->lf.filter_level, 0);
+      vp9_loop_filter_frame_mt(&pbi->lf_row_sync, new_fb, pbi, cm,
+                               cm->lf.filter_level, 0);
     }
   } else {
     *p_data_end = decode_tiles(pbi, data + first_partition_size, data_end);
index 69e4fde..982d58a 100644 (file)
@@ -133,11 +133,11 @@ static int loop_filter_row_worker(TileWorkerData *const tile_data,
 
 // VP9 decoder: Implement multi-threaded loopfilter that uses the tile
 // threads.
-void vp9_loop_filter_frame_mt(YV12_BUFFER_CONFIG *frame,
+void vp9_loop_filter_frame_mt(VP9LfSync *lf_sync,
+                              YV12_BUFFER_CONFIG *frame,
                               VP9Decoder *pbi, VP9_COMMON *cm,
                               int frame_filter_level,
                               int y_only) {
-  VP9LfSync *const lf_sync = &pbi->lf_row_sync;
   const VP9WorkerInterface *const winterface = vp9_get_worker_interface();
   // Number of superblock rows and cols
   const int sb_rows = mi_cols_aligned_to_sb(cm->mi_rows) >> MI_BLOCK_SIZE_LOG2;
index b1fbdeb..bd72234 100644 (file)
@@ -49,7 +49,8 @@ void vp9_loop_filter_alloc(VP9LfSync *lf_sync, VP9_COMMON *cm, int rows,
 void vp9_loop_filter_dealloc(VP9LfSync *lf_sync);
 
 // Multi-threaded loopfilter that uses the tile threads.
-void vp9_loop_filter_frame_mt(YV12_BUFFER_CONFIG *frame,
+void vp9_loop_filter_frame_mt(VP9LfSync *lf_sync,
+                              YV12_BUFFER_CONFIG *frame,
                               struct VP9Decoder *pbi,
                               struct VP9Common *cm,
                               int frame_filter_level,