postproc.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. #ifndef VPX_VP8_COMMON_POSTPROC_H_
  11. #define VPX_VP8_COMMON_POSTPROC_H_
  12. #include "vpx_ports/mem.h"
  13. struct postproc_state {
  14. int last_q;
  15. int last_noise;
  16. int last_base_qindex;
  17. int last_frame_valid;
  18. int clamp;
  19. int8_t *generated_noise;
  20. };
  21. #include "onyxc_int.h"
  22. #include "ppflags.h"
  23. #ifdef __cplusplus
  24. extern "C" {
  25. #endif
  26. int vp8_post_proc_frame(struct VP8Common *oci, YV12_BUFFER_CONFIG *dest,
  27. vp8_ppflags_t *ppflags);
  28. void vp8_de_noise(struct VP8Common *cm, YV12_BUFFER_CONFIG *source,
  29. YV12_BUFFER_CONFIG *post, int q, int low_var_thresh, int flag,
  30. int uvfilter);
  31. void vp8_deblock(struct VP8Common *cm, YV12_BUFFER_CONFIG *source,
  32. YV12_BUFFER_CONFIG *post, int q, int low_var_thresh, int flag);
  33. #define MFQE_PRECISION 4
  34. void vp8_multiframe_quality_enhance(struct VP8Common *cm);
  35. #ifdef __cplusplus
  36. } // extern "C"
  37. #endif
  38. #endif // VPX_VP8_COMMON_POSTPROC_H_