vp9_dx_iface.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /*
  2. * Copyright (c) 2015 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. #ifndef VPX_VP9_VP9_DX_IFACE_H_
  11. #define VPX_VP9_VP9_DX_IFACE_H_
  12. #include "vp9/decoder/vp9_decoder.h"
  13. typedef vpx_codec_stream_info_t vp9_stream_info_t;
  14. struct vpx_codec_alg_priv {
  15. vpx_codec_priv_t base;
  16. vpx_codec_dec_cfg_t cfg;
  17. vp9_stream_info_t si;
  18. VP9Decoder *pbi;
  19. void *user_priv;
  20. int postproc_cfg_set;
  21. vp8_postproc_cfg_t postproc_cfg;
  22. vpx_decrypt_cb decrypt_cb;
  23. void *decrypt_state;
  24. vpx_image_t img;
  25. int img_avail;
  26. int flushed;
  27. int invert_tile_order;
  28. int last_show_frame; // Index of last output frame.
  29. int byte_alignment;
  30. int skip_loop_filter;
  31. int need_resync; // wait for key/intra-only frame
  32. // BufferPool that holds all reference frames.
  33. BufferPool *buffer_pool;
  34. // External frame buffer info to save for VP9 common.
  35. void *ext_priv; // Private data associated with the external frame buffers.
  36. vpx_get_frame_buffer_cb_fn_t get_ext_fb_cb;
  37. vpx_release_frame_buffer_cb_fn_t release_ext_fb_cb;
  38. // Allow for decoding up to a given spatial layer for SVC stream.
  39. int svc_decoding;
  40. int svc_spatial_layer;
  41. int row_mt;
  42. int lpf_opt;
  43. };
  44. #endif // VPX_VP9_VP9_DX_IFACE_H_