diff --git a/mpp/legacy/vpu_api.cpp b/mpp/legacy/vpu_api.cpp index c72fb1d0..d8475ea6 100644 --- a/mpp/legacy/vpu_api.cpp +++ b/mpp/legacy/vpu_api.cpp @@ -272,10 +272,11 @@ RK_S32 vpu_open_context(VpuCodecContext **ctx) } #endif if (s != NULL) { - mpp_log("s->videoCoding=%d, s->width=%d, s->height=%d \n", s->videoCoding, s->width, s->height); - if (s->videoCoding == OMX_RK_VIDEO_CodingHEVC - || s->videoCoding == OMX_RK_VIDEO_CodingVP9 - || s->videoCoding == OMX_RK_VIDEO_CodingAVS + MppCtxType type = (s->codecType == CODEC_DECODER) ? (MPP_CTX_DEC) : + (s->codecType == CODEC_ENCODER) ? (MPP_CTX_ENC) : (MPP_CTX_BUTT); + MppCodingType coding = (MppCodingType)s->videoCoding; + mpp_log("videoCoding %d, width %d, height %d \n", s->videoCoding, s->width, s->height); + if (MPP_OK == mpp_check_support_format(type, coding) || (s->videoCoding == OMX_RK_VIDEO_CodingAVC && s->codecType == CODEC_DECODER && ((s->width > 1920) || (s->height > 1088) || use_mpp_mode))) { free(s); diff --git a/mpp/mpi.cpp b/mpp/mpi.cpp index 41ffa64f..a201a8a4 100644 --- a/mpp/mpi.cpp +++ b/mpp/mpi.cpp @@ -35,10 +35,12 @@ typedef struct { } MppCodingTypeInfo; static MppCodingTypeInfo support_list[] = { - { MPP_CTX_DEC, MPP_VIDEO_CodingVP8, "dec", "vp8", }, { MPP_CTX_DEC, MPP_VIDEO_CodingMPEG2, "dec", "mpeg2", }, + { MPP_CTX_DEC, MPP_VIDEO_CodingMPEG4, "dec", "mpeg4", }, +// { MPP_CTX_DEC, MPP_VIDEO_CodingH263, "dec", "h.263", }, { MPP_CTX_DEC, MPP_VIDEO_CodingAVC, "dec", "h.264/AVC", }, { MPP_CTX_DEC, MPP_VIDEO_CodingHEVC, "dec", "h.265/HEVC", }, + { MPP_CTX_DEC, MPP_VIDEO_CodingVP8, "dec", "vp8", }, { MPP_CTX_DEC, MPP_VIDEO_CodingVP9, "dec", "VP9", }, { MPP_CTX_DEC, MPP_VIDEO_CodingAVS, "dec", "avs+", }, };