mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-06 01:26:49 +08:00
[misc]: Use MppDeviceId to replace HalDeviceId
Change-Id: I3fd2f6a673f4f8d05420bfccb78e8b103f2ca26d Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
|
||||
#include "mpp_env.h"
|
||||
#include "mpp_mem.h"
|
||||
#include "mpp_platform.h"
|
||||
#include "mpp_packet_impl.h"
|
||||
|
||||
#include "h264d_api.h"
|
||||
@@ -630,12 +631,6 @@ MPP_RET h264d_parse(void *decoder, HalDecTask *in_task)
|
||||
* callback
|
||||
***********************************************************************
|
||||
*/
|
||||
typedef enum MppHalHardType_e {
|
||||
HAL_VDPU, //!< vpu combined decoder
|
||||
HAL_VEPU, //!< vpu combined encoder
|
||||
HAL_RKVDEC, //!< rock-chip h264 h265 vp9 combined decoder
|
||||
HAL_DEVICE_BUTT,
|
||||
} HalDeviceId;
|
||||
MPP_RET h264d_callback(void *decoder, void *errinfo)
|
||||
{
|
||||
MPP_RET ret = MPP_ERR_UNKNOW;
|
||||
@@ -663,9 +658,9 @@ MPP_RET h264d_callback(void *decoder, void *errinfo)
|
||||
p_Dec->p_Vid->g_framecnt, task_dec->output, task_err, ctx->hard_err, task_dec->flags.used_for_ref,
|
||||
mpp_frame_get_errinfo(mframe), mpp_frame_get_discard(mframe));
|
||||
|
||||
if (ctx->device_id == HAL_RKVDEC) {
|
||||
if (ctx->device_id == DEV_RKVDEC) {
|
||||
H264D_DBG(H264D_DBG_CALLBACK, "[CALLBACK] sw[01]=%08x, sw[45]=%08x, sw[76]=%08x\n", p_regs[1], p_regs[45], p_regs[76]);
|
||||
} else if (ctx->device_id == HAL_VDPU) {
|
||||
} else if (ctx->device_id == DEV_VDPU) {
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -1305,7 +1305,7 @@ MPP_RET mpp_dec_init(MppDec *dec, MppDecCfg *cfg)
|
||||
MPP_CTX_DEC,
|
||||
coding,
|
||||
HAL_MODE_LIBVPU,
|
||||
HAL_RKVDEC,
|
||||
DEV_RKVDEC,
|
||||
frame_slots,
|
||||
packet_slots,
|
||||
NULL,
|
||||
|
@@ -447,7 +447,7 @@ MPP_RET mpp_enc_init(MppEnc *enc, MppEncCfg *cfg)
|
||||
MPP_CTX_ENC,
|
||||
coding,
|
||||
HAL_MODE_LIBVPU,
|
||||
HAL_VEPU,
|
||||
DEV_VEPU,
|
||||
frame_slots,
|
||||
packet_slots,
|
||||
&p->cfg,
|
||||
|
@@ -17,8 +17,9 @@
|
||||
#ifndef __MPP_HAL_H__
|
||||
#define __MPP_HAL_H__
|
||||
|
||||
#include "hal_task.h"
|
||||
#include "mpp_buf_slot.h"
|
||||
#include "mpp_platform.h"
|
||||
#include "hal_task.h"
|
||||
|
||||
typedef enum MppHalType_e {
|
||||
HAL_MODE_LIBVPU,
|
||||
@@ -26,15 +27,6 @@ typedef enum MppHalType_e {
|
||||
HAL_MODE_BUTT,
|
||||
} HalWorkMode;
|
||||
|
||||
|
||||
typedef enum MppHalHardType_e {
|
||||
HAL_VDPU, //!< vpu combined decoder
|
||||
HAL_VEPU, //!< vpu combined encoder
|
||||
HAL_RKVDEC, //!< rock-chip h264 h265 vp9 combined decoder
|
||||
HAL_RKVENC, //!< rock-chip h264 h265 combined encoder
|
||||
HAL_DEVICE_BUTT,
|
||||
} HalDeviceId;
|
||||
|
||||
typedef enum vpu_hard_mode_e {
|
||||
MODE_NULL = 0,
|
||||
RKVDEC_MODE = 0x01,
|
||||
@@ -52,7 +44,7 @@ typedef struct MppHalCfg_t {
|
||||
MppCtxType type;
|
||||
MppCodingType coding;
|
||||
HalWorkMode work_mode;
|
||||
HalDeviceId device_id;
|
||||
MppDeviceId device_id;
|
||||
MppBufSlots frame_slots;
|
||||
MppBufSlots packet_slots;
|
||||
// for encoder
|
||||
|
@@ -283,7 +283,7 @@ MPP_RET hal_avsd_wait(void *decoder, HalTaskInfo *task)
|
||||
__SKIP_HARD:
|
||||
if (p_hal->init_cb.callBack) {
|
||||
IOCallbackCtx m_ctx = { 0, NULL, NULL, 0 };
|
||||
m_ctx.device_id = HAL_VDPU;
|
||||
m_ctx.device_id = DEV_VDPU;
|
||||
if (!((AvsdRegs_t *)p_hal->p_regs)->sw01.dec_rdy_int) {
|
||||
m_ctx.hard_err = 1;
|
||||
}
|
||||
|
@@ -125,7 +125,7 @@ MPP_RET hal_h264d_init(void *hal, MppHalCfg *cfg)
|
||||
p_api->reset = rkv_h264d_reset;
|
||||
p_api->flush = rkv_h264d_flush;
|
||||
p_api->control = rkv_h264d_control;
|
||||
cfg->device_id = HAL_RKVDEC;
|
||||
cfg->device_id = DEV_RKVDEC;
|
||||
break;
|
||||
case VDPU1_MODE:
|
||||
p_api->init = vdpu1_h264d_init;
|
||||
@@ -136,7 +136,7 @@ MPP_RET hal_h264d_init(void *hal, MppHalCfg *cfg)
|
||||
p_api->reset = vdpu1_h264d_reset;
|
||||
p_api->flush = vdpu1_h264d_flush;
|
||||
p_api->control = vdpu1_h264d_control;
|
||||
cfg->device_id = HAL_VDPU;
|
||||
cfg->device_id = DEV_VDPU;
|
||||
break;
|
||||
case VDPU2_MODE:
|
||||
p_api->init = vdpu2_h264d_init;
|
||||
@@ -147,7 +147,7 @@ MPP_RET hal_h264d_init(void *hal, MppHalCfg *cfg)
|
||||
p_api->reset = vdpu2_h264d_reset;
|
||||
p_api->flush = vdpu2_h264d_flush;
|
||||
p_api->control = vdpu2_h264d_control;
|
||||
cfg->device_id = HAL_VDPU;
|
||||
cfg->device_id = DEV_VDPU;
|
||||
break;
|
||||
default:
|
||||
mpp_err_f("hard mode error, value=%d\n", hard_mode);
|
||||
|
@@ -748,7 +748,7 @@ MPP_RET rkv_h264d_wait(void *hal, HalTaskInfo *task)
|
||||
__SKIP_HARD:
|
||||
if (p_hal->init_cb.callBack) {
|
||||
IOCallbackCtx m_ctx = { 0, NULL, NULL, 0 };
|
||||
m_ctx.device_id = HAL_RKVDEC;
|
||||
m_ctx.device_id = DEV_RKVDEC;
|
||||
if (p_regs->sw01.dec_error_sta
|
||||
|| (!p_regs->sw01.dec_rdy_sta)
|
||||
|| p_regs->sw01.dec_empty_sta
|
||||
|
@@ -904,7 +904,7 @@ MPP_RET vdpu1_h264d_wait(void *hal, HalTaskInfo *task)
|
||||
__SKIP_HARD:
|
||||
if (p_hal->init_cb.callBack) {
|
||||
IOCallbackCtx m_ctx = { 0, NULL, NULL, 0 };
|
||||
m_ctx.device_id = HAL_VDPU;
|
||||
m_ctx.device_id = DEV_VDPU;
|
||||
if (!p_regs->SwReg01.sw_dec_rdy_int) {
|
||||
m_ctx.hard_err = 1;
|
||||
}
|
||||
|
@@ -868,7 +868,7 @@ MPP_RET vdpu2_h264d_wait(void *hal, HalTaskInfo *task)
|
||||
__SKIP_HARD:
|
||||
if (p_hal->init_cb.callBack) {
|
||||
IOCallbackCtx m_ctx = { 0, NULL, NULL, 0 };
|
||||
m_ctx.device_id = HAL_VDPU;
|
||||
m_ctx.device_id = DEV_VDPU;
|
||||
if (!p_regs->sw55.dec_rdy_sts) {
|
||||
m_ctx.hard_err = 1;
|
||||
}
|
||||
|
Reference in New Issue
Block a user