#include "vpx_config.h"
#include "vp8_rtcd.h"
#if !defined(_WIN32) && CONFIG_OS_SUPPORT == 1
#include <unistd.h>
#endif
#include "onyxd_int.h"
#include "vpx_mem/vpx_mem.h"
#include "vpx_util/vpx_pthread.h"
#include "vp8/common/common.h"
#include "vp8/common/threading.h"
#include "vp8/common/loopfilter.h"
#include "vp8/common/extend.h"
#include "vpx_ports/vpx_timer.h"
#include "decoderthreading.h"
#include "detokenize.h"
#include "vp8/common/reconintra4x4.h"
#include "vp8/common/reconinter.h"
#include "vp8/common/reconintra.h"
#include "vp8/common/setupintrarecon.h"
#if CONFIG_ERROR_CONCEALMENT
#include "error_concealment.h"
#endif
#define CALLOC_ARRAY(p, n) …
#define CALLOC_ARRAY_ALIGNED(p, n, algn) …
static void setup_decoding_thread_data(VP8D_COMP *pbi, MACROBLOCKD *xd,
MB_ROW_DEC *mbrd, int count) { … }
static void mt_decode_macroblock(VP8D_COMP *pbi, MACROBLOCKD *xd,
unsigned int mb_idx) { … }
static void mt_decode_mb_rows(VP8D_COMP *pbi, MACROBLOCKD *xd,
int start_mb_row) { … }
static THREADFN thread_decoding_proc(void *p_data) { … }
void vp8_decoder_create_threads(VP8D_COMP *pbi) { … }
void vp8mt_de_alloc_temp_buffers(VP8D_COMP *pbi, int mb_rows) { … }
void vp8mt_alloc_temp_buffers(VP8D_COMP *pbi, int width, int prev_mb_rows) { … }
void vp8_decoder_remove_threads(VP8D_COMP *pbi) { … }
int vp8mt_decode_mb_rows(VP8D_COMP *pbi, MACROBLOCKD *xd) { … }