[mpp] replace ANDROID to RKPLATFORM

[rk_list] remove reunlock mux at the same founction 

git-svn-id: https://10.10.10.66:8443/svn/MediaProcessPlatform/trunk/mpp@845 6e48237b-75ef-9749-8fc9-41990f28c85a
This commit is contained in:
ChenSiyong
2016-05-30 07:07:23 +00:00
parent 3d53388c04
commit 39c9a365ba
18 changed files with 51 additions and 61 deletions

View File

@@ -806,7 +806,7 @@ MPP_RET mpp_buf_slot_set_prop(MppBufSlots slots, RK_S32 index, SlotPropType type
generate_info_set(impl, frame, 0); generate_info_set(impl, frame, 0);
if (mpp_frame_info_cmp(impl->info, impl->info_set)) { if (mpp_frame_info_cmp(impl->info, impl->info_set)) {
impl->info_changed = 1; impl->info_changed = 1;
#ifdef ANDROID #ifdef RKPLATFORM
MppFrameImpl *old = (MppFrameImpl *)impl->info; MppFrameImpl *old = (MppFrameImpl *)impl->info;
mpp_log("info change found\n"); mpp_log("info change found\n");
mpp_log("old width %4d height %4d stride hor %4d ver %4d\n", mpp_log("old width %4d height %4d stride hor %4d ver %4d\n",

View File

@@ -152,7 +152,7 @@ int mpp_buffer_get_fd(MppBuffer buffer)
MppBufferImpl *p = (MppBufferImpl*)buffer; MppBufferImpl *p = (MppBufferImpl*)buffer;
int fd = p->info.fd; int fd = p->info.fd;
#ifdef ANDROID #ifdef RKPLATFORM
mpp_assert(fd >= 0); mpp_assert(fd >= 0);
#endif #endif

View File

@@ -12,7 +12,6 @@ set(H265D_PARSER_SRC
h265d_sei.c h265d_sei.c
h265d_parser2_syntax.c h265d_parser2_syntax.c
) )
add_library(codec_h265d STATIC add_library(codec_h265d STATIC
${H265D_PARSER_SRC} ${H265D_PARSER_HDR} ${H265D_PARSER_SRC} ${H265D_PARSER_HDR}
) )

View File

@@ -10,7 +10,7 @@ if(H265D_TEST)
link_directories(.) link_directories(.)
if(ANDROID) if(ANDROID)
target_link_libraries(h265d_parser_test mpp_shared utils) target_link_libraries(h265d_parser_test mpp_shared utils)
elseif(UNIX) elseif(UNIX_DEBUG)
set(OPENHEVCSO "${CMAKE_SOURCE_DIR}/mpp/codec/dec/h265/test") set(OPENHEVCSO "${CMAKE_SOURCE_DIR}/mpp/codec/dec/h265/test")
add_library(openhevcwrapper SHARED IMPORTED) add_library(openhevcwrapper SHARED IMPORTED)
set_target_properties(openhevcwrapper PROPERTIES set_target_properties(openhevcwrapper PROPERTIES

View File

@@ -348,7 +348,7 @@ RK_S32 hevc_parser_test(ParserDemoCmdContext_t *cmd)
return ret; return ret;
} }
} }
#ifndef ANDROID #ifndef RKPLATFORM
#ifdef COMPARE #ifdef COMPARE
{ {
void *openHevcHandle = NULL; void *openHevcHandle = NULL;
@@ -425,7 +425,7 @@ RK_S32 hevc_parser_test(ParserDemoCmdContext_t *cmd)
} }
} }
curtask->valid = -1; curtask->valid = -1;
#ifndef ANDROID #ifndef RKPLATFORM
#ifdef COMPARE #ifdef COMPARE
mpp_err("hevc_decode_frame in \n"); mpp_err("hevc_decode_frame in \n");
void *sliceInfo = NULL; void *sliceInfo = NULL;
@@ -569,7 +569,7 @@ RK_S32 hevc_parser_test(ParserDemoCmdContext_t *cmd)
mpp_err("mStreamGroup deInit"); mpp_err("mStreamGroup deInit");
mpp_buffer_group_put(mStreamGroup); mpp_buffer_group_put(mStreamGroup);
} }
#ifndef ANDROID #ifndef RKPLATFORM
#ifdef COMPARE #ifdef COMPARE
if (openHevcHandle != NULL) { if (openHevcHandle != NULL) {
libOpenHevcClose(openHevcHandle); libOpenHevcClose(openHevcHandle);

View File

@@ -28,4 +28,8 @@ add_subdirectory(rkdec/avsd)
add_subdirectory(worker/libvpu) add_subdirectory(worker/libvpu)
add_subdirectory(worker/libv4l2) add_subdirectory(worker/libv4l2)
if(RKPLATFORM)
target_link_libraries(mpp_hal hal_h264d hal_h265d hal_vp9d vpu hal_avsd hal_dummy)
else()
target_link_libraries(mpp_hal hal_h264d hal_h265d hal_vp9d hal_avsd hal_dummy) target_link_libraries(mpp_hal hal_h264d hal_h265d hal_vp9d hal_avsd hal_dummy)
endif()

View File

@@ -176,7 +176,7 @@ static void explain_input_buffer(void *hal, HalDecTask *task)
*********************************************************************** ***********************************************************************
*/ */
//extern "C" //extern "C"
#ifndef ANDROID #ifndef RKPLATFORM
RK_S32 VPUClientGetIOMMUStatus() RK_S32 VPUClientGetIOMMUStatus()
{ {
return 0; return 0;
@@ -205,7 +205,7 @@ MPP_RET hal_h264d_init(void *hal, MppHalCfg *cfg)
p_hal->packet_slots = cfg->packet_slots; p_hal->packet_slots = cfg->packet_slots;
//!< choose hard mode //!< choose hard mode
#ifdef ANDROID #ifdef RKPLATFORM
{ {
RK_S32 value = (!!access("/dev/rkvdec", F_OK)); RK_S32 value = (!!access("/dev/rkvdec", F_OK));
cfg->device_id = value ? HAL_VDPU : HAL_RKVDEC; cfg->device_id = value ? HAL_VDPU : HAL_RKVDEC;
@@ -242,7 +242,7 @@ MPP_RET hal_h264d_init(void *hal, MppHalCfg *cfg)
//!< init logctx //!< init logctx
FUN_CHECK(ret = logctx_init(&p_hal->logctx, p_hal->logctxbuf)); FUN_CHECK(ret = logctx_init(&p_hal->logctx, p_hal->logctxbuf));
//!< VPUClientInit //!< VPUClientInit
#ifdef ANDROID #ifdef RKPLATFORM
if (p_hal->vpu_socket <= 0) { if (p_hal->vpu_socket <= 0) {
p_hal->vpu_socket = VPUClientInit(vpu_client); p_hal->vpu_socket = VPUClientInit(vpu_client);
if (p_hal->vpu_socket <= 0) { if (p_hal->vpu_socket <= 0) {
@@ -254,7 +254,7 @@ MPP_RET hal_h264d_init(void *hal, MppHalCfg *cfg)
#endif #endif
//< get buffer group //< get buffer group
if (p_hal->buf_group == NULL) { if (p_hal->buf_group == NULL) {
#ifdef ANDROID #ifdef RKPLATFORM
mpp_log_f("mpp_buffer_group_get_internal used ion In"); mpp_log_f("mpp_buffer_group_get_internal used ion In");
FUN_CHECK(ret = mpp_buffer_group_get_internal(&p_hal->buf_group, MPP_BUFFER_TYPE_ION)); FUN_CHECK(ret = mpp_buffer_group_get_internal(&p_hal->buf_group, MPP_BUFFER_TYPE_ION));
#else #else
@@ -285,7 +285,7 @@ MPP_RET hal_h264d_deinit(void *hal)
FUN_CHECK(ret = p_hal->hal_api.deinit(hal)); FUN_CHECK(ret = p_hal->hal_api.deinit(hal));
FUN_CHECK(ret = logctx_deinit(&p_hal->logctx)); FUN_CHECK(ret = logctx_deinit(&p_hal->logctx));
//!< VPUClientInit //!< VPUClientInit
#ifdef ANDROID #ifdef RKPLATFORM
if (p_hal->vpu_socket >= 0) { if (p_hal->vpu_socket >= 0) {
VPUClientRelease(p_hal->vpu_socket); VPUClientRelease(p_hal->vpu_socket);
} }

View File

@@ -393,7 +393,7 @@ MPP_RET rkv_h264d_start(void *hal, HalTaskInfo *task)
} }
//!< current buffer slot fd //!< current buffer slot fd
H264D_DBG(H264D_DBG_DECOUT_INFO, "[DECOUT_INFO] decout_fd=0x%02x", p_regs[7]); H264D_DBG(H264D_DBG_DECOUT_INFO, "[DECOUT_INFO] decout_fd=0x%02x", p_regs[7]);
#ifdef ANDROID #ifdef RKPLATFORM
if (VPUClientSendReg(p_hal->vpu_socket, (RK_U32 *)p_regs, DEC_RKV_REGISTERS)) { if (VPUClientSendReg(p_hal->vpu_socket, (RK_U32 *)p_regs, DEC_RKV_REGISTERS)) {
ret = MPP_ERR_VPUHW; ret = MPP_ERR_VPUHW;
H264D_ERR("H264 RKV FlushRegs fail. \n"); H264D_ERR("H264 RKV FlushRegs fail. \n");
@@ -424,7 +424,7 @@ MPP_RET rkv_h264d_wait(void *hal, HalTaskInfo *task)
if (task->dec.flags.had_error) { if (task->dec.flags.had_error) {
goto __SKIP_HARD; goto __SKIP_HARD;
} }
#ifdef ANDROID #ifdef RKPLATFORM
RK_S32 wait_ret = -1; RK_S32 wait_ret = -1;
RK_S32 ret_len = 0, cur_deat = 0; RK_S32 ret_len = 0, cur_deat = 0;
VPU_CMD_TYPE ret_cmd = VPU_CMD_BUTT; VPU_CMD_TYPE ret_cmd = VPU_CMD_BUTT;

View File

@@ -582,7 +582,7 @@ MPP_RET vdpu_h264d_start(void *hal, HalTaskInfo *task)
p_drv->p_reg[57] |= 0xDE; p_drv->p_reg[57] |= 0xDE;
FUN_CHECK(ret = vdpu_h264d_print_regs(p_hal, p_drv)); FUN_CHECK(ret = vdpu_h264d_print_regs(p_hal, p_drv));
#ifdef ANDROID #ifdef RKPLATFORM
if (VPUClientSendReg(p_hal->vpu_socket, p_drv->p_reg, DEC_X170_REGISTERS)) { if (VPUClientSendReg(p_hal->vpu_socket, p_drv->p_reg, DEC_X170_REGISTERS)) {
ret = MPP_ERR_VPUHW; ret = MPP_ERR_VPUHW;
mpp_err_f("H264 VDPU FlushRegs fail. \n"); mpp_err_f("H264 VDPU FlushRegs fail. \n");
@@ -613,7 +613,7 @@ MPP_RET vdpu_h264d_wait(void *hal, HalTaskInfo *task)
INP_CHECK(ret, NULL == p_hal); INP_CHECK(ret, NULL == p_hal);
FunctionIn(p_hal->logctx.parr[RUN_HAL]); FunctionIn(p_hal->logctx.parr[RUN_HAL]);
#ifdef ANDROID #ifdef RKPLATFORM
RK_S32 wait_ret = -1; RK_S32 wait_ret = -1;
RK_S32 ret_len = 0, cur_deat = 0; RK_S32 ret_len = 0, cur_deat = 0;
VPU_CMD_TYPE ret_cmd = VPU_CMD_BUTT; VPU_CMD_TYPE ret_cmd = VPU_CMD_BUTT;

View File

@@ -16,10 +16,6 @@ add_library(hal_h265d STATIC
set_target_properties(hal_h265d PROPERTIES FOLDER "mpp/hal") set_target_properties(hal_h265d PROPERTIES FOLDER "mpp/hal")
if(WIN32)
target_link_libraries(hal_h265d mpp_base) target_link_libraries(hal_h265d mpp_base)
else()
target_link_libraries(hal_h265d vpu mpp_base)
endif()
#add_subdirectory(test) #add_subdirectory(test)

View File

@@ -417,7 +417,7 @@ MPP_RET hal_h265d_init(void *hal, MppHalCfg *cfg)
} }
reg_cxt->packet_slots = cfg->packet_slots; reg_cxt->packet_slots = cfg->packet_slots;
///<- VPUClientInit ///<- VPUClientInit
#ifdef ANDROID #ifdef RKPLATFORM
if (reg_cxt->vpu_socket <= 0) { if (reg_cxt->vpu_socket <= 0) {
RK_S32 value = !!access("/dev/rkvdec", F_OK); RK_S32 value = !!access("/dev/rkvdec", F_OK);
if (value) if (value)
@@ -432,7 +432,7 @@ MPP_RET hal_h265d_init(void *hal, MppHalCfg *cfg)
#endif #endif
if (reg_cxt->group == NULL) { if (reg_cxt->group == NULL) {
#ifdef ANDROID #ifdef RKPLATFORM
mpp_err("mpp_buffer_group_get_internal used ion in"); mpp_err("mpp_buffer_group_get_internal used ion in");
ret = mpp_buffer_group_get_internal(&reg_cxt->group, MPP_BUFFER_TYPE_ION); ret = mpp_buffer_group_get_internal(&reg_cxt->group, MPP_BUFFER_TYPE_ION);
#else #else
@@ -474,7 +474,7 @@ MPP_RET hal_h265d_deinit(void *hal)
h265d_reg_context_t *reg_cxt = ( h265d_reg_context_t *)hal; h265d_reg_context_t *reg_cxt = ( h265d_reg_context_t *)hal;
///<- VPUClientInit ///<- VPUClientInit
#ifdef ANDROID #ifdef RKPLATFORM
if (reg_cxt->vpu_socket >= 0) { if (reg_cxt->vpu_socket >= 0) {
VPUClientRelease(reg_cxt->vpu_socket); VPUClientRelease(reg_cxt->vpu_socket);
@@ -1098,7 +1098,7 @@ RK_S32 hal_h265d_output_pps_packet(void *hal, void *dxva)
mpp_err("%s:%s:%d reg_cxt or dxva_cxt is NULL", __FILE__, __FUNCTION__, __LINE__); mpp_err("%s:%s:%d reg_cxt or dxva_cxt is NULL", __FILE__, __FUNCTION__, __LINE__);
return MPP_ERR_NULL_PTR; return MPP_ERR_NULL_PTR;
} }
#ifdef ANDROID #ifdef RKPLATFORM
void *pps_ptr = mpp_buffer_get_ptr(reg_cxt->pps_data); void *pps_ptr = mpp_buffer_get_ptr(reg_cxt->pps_data);
if (NULL == pps_ptr) { if (NULL == pps_ptr) {
@@ -1284,7 +1284,7 @@ RK_S32 hal_h265d_output_pps_packet(void *hal, void *dxva)
hal_h265d_output_scalinglist_packet(hal, ptr_scaling + addr, dxva); hal_h265d_output_scalinglist_packet(hal, ptr_scaling + addr, dxva);
#ifdef ANDROID #ifdef RKPLATFORM
RK_U32 fd = mpp_buffer_get_fd(reg_cxt->scaling_list_data); RK_U32 fd = mpp_buffer_get_fd(reg_cxt->scaling_list_data);
/* need to config addr */ /* need to config addr */
if (VPUClientGetIOMMUStatus() > 0) { if (VPUClientGetIOMMUStatus() > 0) {
@@ -1297,7 +1297,7 @@ RK_S32 hal_h265d_output_pps_packet(void *hal, void *dxva)
mpp_align(&bp, 64, 0xf); mpp_align(&bp, 64, 0xf);
} }
#ifdef ANDROID #ifdef RKPLATFORM
for (i = 0; i < 64; i++) { for (i = 0; i < 64; i++) {
memcpy(pps_ptr + i * 80, pps_packet, 80); memcpy(pps_ptr + i * 80, pps_packet, 80);
} }
@@ -1325,7 +1325,7 @@ MPP_RET hal_h265d_gen_regs(void *hal, HalTaskInfo *syn)
MppBuffer streambuf = NULL; MppBuffer streambuf = NULL;
RK_S32 aglin_offset = 0; RK_S32 aglin_offset = 0;
#ifdef ANDROID #ifdef RKPLATFORM
RK_S32 valid_ref = -1; RK_S32 valid_ref = -1;
MppBuffer framebuf = NULL; MppBuffer framebuf = NULL;
#endif #endif
@@ -1404,7 +1404,7 @@ MPP_RET hal_h265d_gen_regs(void *hal, HalTaskInfo *syn)
hw_regs->sw_yuv_virstride hw_regs->sw_yuv_virstride
= virstrid_yuv >> 4; = virstrid_yuv >> 4;
#ifdef ANDROID #ifdef RKPLATFORM
mpp_buf_slot_get_prop(reg_cxt->slots, dxva_cxt->pp.CurrPic.Index7Bits, SLOT_BUFFER, &framebuf); mpp_buf_slot_get_prop(reg_cxt->slots, dxva_cxt->pp.CurrPic.Index7Bits, SLOT_BUFFER, &framebuf);
hw_regs->sw_decout_base = mpp_buffer_get_fd(framebuf); //just index need map hw_regs->sw_decout_base = mpp_buffer_get_fd(framebuf); //just index need map
#endif #endif
@@ -1423,7 +1423,7 @@ MPP_RET hal_h265d_gen_regs(void *hal, HalTaskInfo *syn)
dxva_cxt->bitstream = mpp_buffer_get_ptr(streambuf); dxva_cxt->bitstream = mpp_buffer_get_ptr(streambuf);
} }
hal_h265d_slice_output_rps(syn->dec.syntax.data, rps_ptr); hal_h265d_slice_output_rps(syn->dec.syntax.data, rps_ptr);
#ifdef ANDROID #ifdef RKPLATFORM
hw_regs->sw_cabactbl_base = mpp_buffer_get_fd(reg_cxt->cabac_table_data); hw_regs->sw_cabactbl_base = mpp_buffer_get_fd(reg_cxt->cabac_table_data);
hw_regs->sw_pps_base = mpp_buffer_get_fd(reg_cxt->pps_data); hw_regs->sw_pps_base = mpp_buffer_get_fd(reg_cxt->pps_data);
hw_regs->sw_rps_base = mpp_buffer_get_fd(reg_cxt->rps_data); hw_regs->sw_rps_base = mpp_buffer_get_fd(reg_cxt->rps_data);
@@ -1445,7 +1445,7 @@ MPP_RET hal_h265d_gen_regs(void *hal, HalTaskInfo *syn)
hw_regs->cabac_error_en = 0xfdfffffd; hw_regs->cabac_error_en = 0xfdfffffd;
hw_regs->extern_error_en = 0x30000000; hw_regs->extern_error_en = 0x30000000;
#ifdef ANDROID #ifdef RKPLATFORM
valid_ref = hw_regs->sw_decout_base; valid_ref = hw_regs->sw_decout_base;
for (i = 0; i < (RK_S32)MPP_ARRAY_ELEMS(dxva_cxt->pp.RefPicList); i++) { for (i = 0; i < (RK_S32)MPP_ARRAY_ELEMS(dxva_cxt->pp.RefPicList); i++) {
if (dxva_cxt->pp.RefPicList[i].bPicEntry != 0xff && if (dxva_cxt->pp.RefPicList[i].bPicEntry != 0xff &&
@@ -1505,7 +1505,7 @@ MPP_RET hal_h265d_start(void *hal, HalTaskInfo *task)
//mpp_log("RK_HEVC_DEC: regs[%02d]=%08X\n", i, *((RK_U32*)p)); //mpp_log("RK_HEVC_DEC: regs[%02d]=%08X\n", i, *((RK_U32*)p));
p += 4; p += 4;
} }
#ifdef ANDROID #ifdef RKPLATFORM
ret = VPUClientSendReg(reg_cxt->vpu_socket, (RK_U32*)hw_regs, 78); // 68 is the nb of uint32_t ret = VPUClientSendReg(reg_cxt->vpu_socket, (RK_U32*)hw_regs, 78); // 68 is the nb of uint32_t
if (ret != 0) { if (ret != 0) {
@@ -1523,7 +1523,7 @@ MPP_RET hal_h265d_wait(void *hal, HalTaskInfo *task)
(void)task; (void)task;
(void) hal; (void) hal;
#ifdef ANDROID #ifdef RKPLATFORM
RK_S32 index = task->dec.reg_index; RK_S32 index = task->dec.reg_index;
h265d_reg_context_t *reg_cxt = (h265d_reg_context_t *)hal; h265d_reg_context_t *reg_cxt = (h265d_reg_context_t *)hal;
RK_U8* p = NULL; RK_U8* p = NULL;

View File

@@ -22,11 +22,7 @@ add_library(hal_vp9d STATIC
${HAL_VP9D_SRC} ${HAL_VP9D_SRC}
) )
if(WIN32)
target_link_libraries(hal_vp9d mpp_base) target_link_libraries(hal_vp9d mpp_base)
else()
target_link_libraries(hal_vp9d vpu mpp_base)
endif()
set_target_properties(hal_vp9d PROPERTIES FOLDER "mpp/hal") set_target_properties(hal_vp9d PROPERTIES FOLDER "mpp/hal")

View File

@@ -129,7 +129,7 @@ MPP_RET hal_vp9d_init(void *hal, MppHalCfg *cfg)
reg_cxt->packet_slots = cfg->packet_slots; reg_cxt->packet_slots = cfg->packet_slots;
///<- VPUClientInit ///<- VPUClientInit
#ifdef ANDROID #ifdef RKPLATFORM
if (reg_cxt->vpu_socket <= 0) { if (reg_cxt->vpu_socket <= 0) {
reg_cxt->vpu_socket = VPUClientInit(VPU_DEC_RKV); reg_cxt->vpu_socket = VPUClientInit(VPU_DEC_RKV);
if (reg_cxt->vpu_socket <= 0) { if (reg_cxt->vpu_socket <= 0) {
@@ -140,7 +140,7 @@ MPP_RET hal_vp9d_init(void *hal, MppHalCfg *cfg)
#endif #endif
if (reg_cxt->group == NULL) { if (reg_cxt->group == NULL) {
#ifdef ANDROID #ifdef RKPLATFORM
mpp_err("mpp_buffer_group_get_internal used ion in"); mpp_err("mpp_buffer_group_get_internal used ion in");
ret = mpp_buffer_group_get_internal(&reg_cxt->group, MPP_BUFFER_TYPE_ION); ret = mpp_buffer_group_get_internal(&reg_cxt->group, MPP_BUFFER_TYPE_ION);
#else #else
@@ -256,7 +256,7 @@ MPP_RET hal_vp9d_output_probe(void *hal, void *dxva)
RK_S32 intraFlag = (!pic_param->frame_type || pic_param->intra_only); RK_S32 intraFlag = (!pic_param->frame_type || pic_param->intra_only);
vp9_prob partition_probs[PARTITION_CONTEXTS][PARTITION_TYPES - 1]; vp9_prob partition_probs[PARTITION_CONTEXTS][PARTITION_TYPES - 1];
vp9_prob uv_mode_prob[INTRA_MODES][INTRA_MODES - 1]; vp9_prob uv_mode_prob[INTRA_MODES][INTRA_MODES - 1];
#ifdef ANDROID #ifdef RKPLATFORM
hal_vp9_context_t *reg_cxt = (hal_vp9_context_t*)hal; hal_vp9_context_t *reg_cxt = (hal_vp9_context_t*)hal;
void *probe_ptr = mpp_buffer_get_ptr(reg_cxt->probe_base); void *probe_ptr = mpp_buffer_get_ptr(reg_cxt->probe_base);
if (NULL == probe_ptr) { if (NULL == probe_ptr) {
@@ -485,7 +485,7 @@ MPP_RET hal_vp9d_output_probe(void *hal, void *dxva)
} }
mpp_align(&bp, 128, 0); mpp_align(&bp, 128, 0);
} }
#ifdef ANDROID #ifdef RKPLATFORM
memcpy(probe_ptr, probe_packet, 304 * 8); memcpy(probe_ptr, probe_packet, 304 * 8);
#endif #endif
#ifdef dump #ifdef dump
@@ -590,7 +590,7 @@ MPP_RET hal_vp9d_gen_regs(void *hal, HalTaskInfo *task)
#endif #endif
RK_S32 intraFlag = 0; RK_S32 intraFlag = 0;
#ifdef ANDROID #ifdef RKPLATFORM
MppBuffer framebuf = NULL; MppBuffer framebuf = NULL;
#endif #endif
#ifdef dump #ifdef dump
@@ -645,7 +645,7 @@ MPP_RET hal_vp9d_gen_regs(void *hal, HalTaskInfo *task)
vp9_hw_regs->swreg8_y_virstride.sw_y_virstride = sw_y_virstride; vp9_hw_regs->swreg8_y_virstride.sw_y_virstride = sw_y_virstride;
vp9_hw_regs->swreg9_yuv_virstride.sw_yuv_virstride = sw_yuv_virstride; vp9_hw_regs->swreg9_yuv_virstride.sw_yuv_virstride = sw_yuv_virstride;
#ifdef ANDROID #ifdef RKPLATFORM
if (!pic_param->intra_only && pic_param->frame_type && !pic_param->error_resilient_mode) { if (!pic_param->intra_only && pic_param->frame_type && !pic_param->error_resilient_mode) {
reg_cxt->pre_mv_base_addr = reg_cxt->mv_base_addr; reg_cxt->pre_mv_base_addr = reg_cxt->mv_base_addr;
} }
@@ -698,7 +698,7 @@ MPP_RET hal_vp9d_gen_regs(void *hal, HalTaskInfo *task)
y_virstride = y_hor_virstride * pic_h[0]; y_virstride = y_hor_virstride * pic_h[0];
uv_virstride = uv_hor_virstride * pic_h[1]; uv_virstride = uv_hor_virstride * pic_h[1];
yuv_virstride = y_virstride + uv_virstride; yuv_virstride = y_virstride + uv_virstride;
#ifdef ANDROID #ifdef RKPLATFORM
if (pic_param->ref_frame_map[ref_idx].Index7Bits < 0x7f) { if (pic_param->ref_frame_map[ref_idx].Index7Bits < 0x7f) {
mpp_buf_slot_get_prop(reg_cxt->slots, pic_param->ref_frame_map[ref_idx].Index7Bits, SLOT_BUFFER, &framebuf); mpp_buf_slot_get_prop(reg_cxt->slots, pic_param->ref_frame_map[ref_idx].Index7Bits, SLOT_BUFFER, &framebuf);
} }
@@ -735,7 +735,7 @@ MPP_RET hal_vp9d_gen_regs(void *hal, HalTaskInfo *task)
break; break;
} }
#ifdef ANDROID #ifdef RKPLATFORM
/*0 map to 11*/ /*0 map to 11*/
/*1 map to 12*/ /*1 map to 12*/
/*2 map to 13*/ /*2 map to 13*/
@@ -838,7 +838,7 @@ MPP_RET hal_vp9d_start(void *hal, HalTaskInfo *task)
//mpp_log("RK_VP9_DEC: regs[%02d]=%08X\n", i, *((RK_U32*)p)); //mpp_log("RK_VP9_DEC: regs[%02d]=%08X\n", i, *((RK_U32*)p));
p += 4; p += 4;
} }
#ifdef ANDROID #ifdef RKPLATFORM
#if 1 #if 1
ret = VPUClientSendReg(reg_cxt->vpu_socket, (RK_U32*)hw_regs, sizeof(VP9_REGS) / 4); // 68 is the nb of uint32_t ret = VPUClientSendReg(reg_cxt->vpu_socket, (RK_U32*)hw_regs, sizeof(VP9_REGS) / 4); // 68 is the nb of uint32_t
if (ret != 0) { if (ret != 0) {
@@ -861,7 +861,7 @@ MPP_RET hal_vp9d_start(void *hal, HalTaskInfo *task)
MPP_RET hal_vp9d_wait(void *hal, HalTaskInfo *task) MPP_RET hal_vp9d_wait(void *hal, HalTaskInfo *task)
{ {
MPP_RET ret = MPP_OK; MPP_RET ret = MPP_OK;
#ifdef ANDROID #ifdef RKPLATFORM
hal_vp9_context_t *reg_cxt = (hal_vp9_context_t *)hal; hal_vp9_context_t *reg_cxt = (hal_vp9_context_t *)hal;
DXVA_PicParams_VP9 *pic_param = (DXVA_PicParams_VP9*)task->dec.syntax.data; DXVA_PicParams_VP9 *pic_param = (DXVA_PicParams_VP9*)task->dec.syntax.data;
RK_U32 i; RK_U32 i;

View File

@@ -2,8 +2,8 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
# add libvpu implement # add libvpu implement
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
if(ANDROID) if(RKPLATFORM)
add_library(vpu STATIC add_library(vpu STATIC
vpu.c vpu.c
) )
endif(ANDROID) endif(RKPLATFORM)

View File

@@ -21,8 +21,8 @@ add_library(mpp_legacy_shared SHARED ${MPP_LEGACY_SRC})
set_target_properties(mpp_legacy_shared PROPERTIES FOLDER "mpp/legacy") set_target_properties(mpp_legacy_shared PROPERTIES FOLDER "mpp/legacy")
set_target_properties(mpp_legacy_shared PROPERTIES OUTPUT_NAME "vpu") set_target_properties(mpp_legacy_shared PROPERTIES OUTPUT_NAME "vpu")
set_target_properties(mpp_legacy_shared PROPERTIES CLEAN_DIRECT_OUTPUT 1) set_target_properties(mpp_legacy_shared PROPERTIES CLEAN_DIRECT_OUTPUT 1)
if(ANDROID) if(RKPLATFORM)
target_link_libraries(mpp_legacy_shared vpu mpp_shared) target_link_libraries(mpp_legacy_shared vpu dl mpp_shared)
else() else()
target_link_libraries(mpp_legacy_shared mpp_shared) target_link_libraries(mpp_legacy_shared mpp_shared)
endif() endif()

View File

@@ -160,7 +160,6 @@ RK_S32 rk_list::del_at_tail(void *data, RK_S32 size)
if (head && count) { if (head && count) {
_list_del_node_no_lock(head->prev, data, size); _list_del_node_no_lock(head->prev, data, size);
count--; count--;
pthread_mutex_unlock(&mutex);
ret = 0; ret = 0;
} }
pthread_mutex_unlock(&mutex); pthread_mutex_unlock(&mutex);

View File

@@ -17,7 +17,7 @@
#define MODULE_TAG "vpu_api" #define MODULE_TAG "vpu_api"
#include <string.h> #include <string.h>
#ifdef ANDROID #ifdef RKPLATFORM
#include <dlfcn.h> #include <dlfcn.h>
#include <unistd.h> #include <unistd.h>
#endif #endif
@@ -193,7 +193,7 @@ static RK_S32 vpu_api_control(VpuCodecContext *ctx, VPU_API_CMD cmdType, void *p
return api->control(ctx, cmdType, param); return api->control(ctx, cmdType, param);
} }
#ifdef ANDROID #ifdef RKPLATFORM
class VpulibDlsym class VpulibDlsym
{ {
public: public:
@@ -248,7 +248,7 @@ RK_S32 vpu_open_context(VpuCodecContext **ctx)
RK_U32 use_mpp_mode = 0; RK_U32 use_mpp_mode = 0;
mpp_env_get_u32("chg_orig", &value, 0); mpp_env_get_u32("chg_orig", &value, 0);
mpp_env_get_u32("use_mpp_mode", &use_mpp_mode, 0); mpp_env_get_u32("use_mpp_mode", &use_mpp_mode, 0);
#ifdef ANDROID #ifdef RKPLATFORM
value = value || (!!access("/dev/rkvdec", F_OK)); value = value || (!!access("/dev/rkvdec", F_OK));
if (s != NULL) if (s != NULL)
@@ -303,7 +303,7 @@ RK_S32 vpu_open_context(VpuCodecContext **ctx)
*ctx = s; *ctx = s;
return 0; return 0;
} else { } else {
#ifdef ANDROID #ifdef RKPLATFORM
if (s != NULL) { if (s != NULL) {
free(s); free(s);
s = NULL; s = NULL;
@@ -329,7 +329,7 @@ RK_S32 vpu_close_context(VpuCodecContext **ctx)
VpuCodecContext *s = *ctx; VpuCodecContext *s = *ctx;
RK_U32 value; RK_U32 value;
mpp_env_get_u32("chg_orig", &value, 0); mpp_env_get_u32("chg_orig", &value, 0);
#ifdef ANDROID #ifdef RKPLATFORM
if (value || s->extra_cfg.reserved[0]) { if (value || s->extra_cfg.reserved[0]) {
close_orign_vpu(ctx); close_orign_vpu(ctx);
mpp_log("org vpu_close_context ok"); mpp_log("org vpu_close_context ok");

View File

@@ -21,10 +21,6 @@
#include "vpu.h" #include "vpu.h"
#include <string.h> #include <string.h>
#ifdef ANDROID
#include <linux/ion.h>
#endif
static RK_S32 commit_memory_handle(vpu_display_mem_pool *p, RK_S32 mem_hdl, RK_S32 size) static RK_S32 commit_memory_handle(vpu_display_mem_pool *p, RK_S32 mem_hdl, RK_S32 size)
{ {
MppBufferInfo info; MppBufferInfo info;
@@ -177,7 +173,7 @@ void release_vpu_memory_pool_allocator(vpu_display_mem_pool *ipool)
RK_S32 VPUMemJudgeIommu() RK_S32 VPUMemJudgeIommu()
{ {
int ret = 0; int ret = 0;
#ifdef ANDROID #ifdef RKPLATFORM
if (VPUClientGetIOMMUStatus() > 0) { if (VPUClientGetIOMMUStatus() > 0) {
//mpp_err("media.used.iommu"); //mpp_err("media.used.iommu");
ret = 1; ret = 1;