1 /* 2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 #ifndef VP9_DECODER_VP9_ONYXD_INT_H_ 12 #define VP9_DECODER_VP9_ONYXD_INT_H_ 13 14 #include "./vpx_config.h" 15 16 #include "vp9/common/vp9_onyxc_int.h" 17 #include "vp9/decoder/vp9_onyxd.h" 18 #include "vp9/decoder/vp9_thread.h" 19 20 typedef struct VP9Decompressor { 21 DECLARE_ALIGNED(16, MACROBLOCKD, mb); 22 23 DECLARE_ALIGNED(16, VP9_COMMON, common); 24 25 DECLARE_ALIGNED(16, int16_t, qcoeff[MAX_MB_PLANE][64 * 64]); 26 DECLARE_ALIGNED(16, int16_t, dqcoeff[MAX_MB_PLANE][64 * 64]); 27 DECLARE_ALIGNED(16, uint16_t, eobs[MAX_MB_PLANE][256]); 28 29 VP9D_CONFIG oxcf; 30 31 const uint8_t *source; 32 size_t source_sz; 33 34 int64_t last_time_stamp; 35 int ready_for_new_data; 36 37 int refresh_frame_flags; 38 39 int decoded_key_frame; 40 41 int initial_width; 42 int initial_height; 43 44 int do_loopfilter_inline; // apply loopfilter to available rows immediately 45 VP9Worker lf_worker; 46 47 VP9Worker *tile_workers; 48 int num_tile_workers; 49 50 /* Each tile column has its own MODE_INFO stream. This array indexes them by 51 tile column index. */ 52 MODE_INFO **mi_streams; 53 54 ENTROPY_CONTEXT *above_context[MAX_MB_PLANE]; 55 PARTITION_CONTEXT *above_seg_context; 56 57 DECLARE_ALIGNED(16, uint8_t, token_cache[1024]); 58 } VP9D_COMP; 59 60 #endif // VP9_DECODER_VP9_ONYXD_INT_H_ 61