| Index: source/libvpx/vp9/decoder/vp9_decoder.h
|
| diff --git a/source/libvpx/vp9/decoder/vp9_decoder.h b/source/libvpx/vp9/decoder/vp9_decoder.h
|
| index 47cce068fdea039d341fc9cb963e1b380ecc75ac..1415019a191226108c92d75f04e3e333b4aab518 100644
|
| --- a/source/libvpx/vp9/decoder/vp9_decoder.h
|
| +++ b/source/libvpx/vp9/decoder/vp9_decoder.h
|
| @@ -19,7 +19,6 @@
|
| #include "vp9/common/vp9_onyxc_int.h"
|
| #include "vp9/common/vp9_ppflags.h"
|
| #include "vp9/common/vp9_thread.h"
|
| -#include "vp9/decoder/vp9_dthread.h"
|
| #include "vp9/decoder/vp9_reader.h"
|
|
|
| #ifdef __cplusplus
|
| @@ -34,7 +33,7 @@ typedef struct TileData {
|
| } TileData;
|
|
|
| typedef struct TileWorkerData {
|
| - struct VP9Decoder *pbi;
|
| + VP9_COMMON *cm;
|
| vp9_reader bit_reader;
|
| DECLARE_ALIGNED(16, MACROBLOCKD, xd);
|
| struct vpx_internal_error_info error_info;
|
| @@ -51,12 +50,6 @@ typedef struct VP9Decoder {
|
|
|
| int frame_parallel_decode; // frame-based threading.
|
|
|
| - // TODO(hkuang): Combine this with cur_buf in macroblockd as they are
|
| - // the same.
|
| - RefCntBuffer *cur_buf; // Current decoding frame buffer.
|
| - RefCntBuffer *prev_buf; // Previous decoding frame buffer.
|
| -
|
| - VP9Worker *frame_worker_owner; // frame_worker that owns this pbi.
|
| VP9Worker lf_worker;
|
| VP9Worker *tile_workers;
|
| TileWorkerData *tile_worker_data;
|
| @@ -73,8 +66,7 @@ typedef struct VP9Decoder {
|
|
|
| int max_threads;
|
| int inv_tile_order;
|
| - int need_resync; // wait for key/intra-only frame.
|
| - int hold_ref_buf; // hold the reference buffer.
|
| + int need_resync; // wait for key/intra-only frame
|
| } VP9Decoder;
|
|
|
| int vp9_receive_compressed_data(struct VP9Decoder *pbi,
|
| @@ -91,6 +83,10 @@ vpx_codec_err_t vp9_set_reference_dec(VP9_COMMON *cm,
|
| VP9_REFFRAME ref_frame_flag,
|
| YV12_BUFFER_CONFIG *sd);
|
|
|
| +struct VP9Decoder *vp9_decoder_create();
|
| +
|
| +void vp9_decoder_remove(struct VP9Decoder *pbi);
|
| +
|
| static INLINE uint8_t read_marker(vpx_decrypt_cb decrypt_cb,
|
| void *decrypt_state,
|
| const uint8_t *data) {
|
| @@ -110,25 +106,6 @@ vpx_codec_err_t vp9_parse_superframe_index(const uint8_t *data,
|
| vpx_decrypt_cb decrypt_cb,
|
| void *decrypt_state);
|
|
|
| -struct VP9Decoder *vp9_decoder_create(BufferPool *const pool);
|
| -
|
| -void vp9_decoder_remove(struct VP9Decoder *pbi);
|
| -
|
| -static INLINE void decrease_ref_count(int idx, RefCntBuffer *const frame_bufs,
|
| - BufferPool *const pool) {
|
| - if (idx >= 0) {
|
| - --frame_bufs[idx].ref_count;
|
| - // A worker may only get a free framebuffer index when calling get_free_fb.
|
| - // But the private buffer is not set up until finish decoding header.
|
| - // So any error happens during decoding header, the frame_bufs will not
|
| - // have valid priv buffer.
|
| - if (frame_bufs[idx].ref_count == 0 &&
|
| - frame_bufs[idx].raw_frame_buffer.priv) {
|
| - pool->release_fb_cb(pool->cb_priv, &frame_bufs[idx].raw_frame_buffer);
|
| - }
|
| - }
|
| -}
|
| -
|
| #ifdef __cplusplus
|
| } // extern "C"
|
| #endif
|
|
|