msm_vidc_buffer.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
  4. * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
  5. */
  6. #ifndef __H_MSM_VIDC_BUFFER_H__
  7. #define __H_MSM_VIDC_BUFFER_H__
  8. #include "msm_vidc_inst.h"
  9. #define MIN_DEC_INPUT_BUFFERS 4
  10. #define MIN_DEC_OUTPUT_BUFFERS 4
  11. #define MIN_ENC_INPUT_BUFFERS 4
  12. #define MIN_ENC_OUTPUT_BUFFERS 4
  13. #define DCVS_ENC_EXTRA_INPUT_BUFFERS 4
  14. #define DCVS_DEC_EXTRA_OUTPUT_BUFFERS 4
  15. u32 msm_vidc_input_min_count(struct msm_vidc_inst *inst);
  16. u32 msm_vidc_output_min_count(struct msm_vidc_inst *inst);
  17. u32 msm_vidc_input_extra_count(struct msm_vidc_inst *inst);
  18. u32 msm_vidc_output_extra_count(struct msm_vidc_inst *inst);
  19. u32 msm_vidc_internal_buffer_count(struct msm_vidc_inst *inst,
  20. enum msm_vidc_buffer_type buffer_type);
  21. u32 msm_vidc_decoder_input_size(struct msm_vidc_inst *inst);
  22. u32 msm_vidc_decoder_output_size(struct msm_vidc_inst *inst);
  23. u32 msm_vidc_decoder_input_meta_size(struct msm_vidc_inst *inst);
  24. u32 msm_vidc_decoder_output_meta_size(struct msm_vidc_inst *inst);
  25. u32 msm_vidc_encoder_input_size(struct msm_vidc_inst *inst);
  26. u32 msm_vidc_encoder_output_size(struct msm_vidc_inst *inst);
  27. u32 msm_vidc_encoder_input_meta_size(struct msm_vidc_inst *inst);
  28. u32 msm_vidc_encoder_output_meta_size(struct msm_vidc_inst *inst);
  29. u32 msm_vidc_enc_delivery_mode_based_output_buf_size(struct msm_vidc_inst *inst,
  30. u32 frame_size);
  31. #endif // __H_MSM_VIDC_BUFFER_H__