Home | History | Annotate | Download | only in decoder
      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