diff --git a/mpp/codec/CMakeLists.txt b/mpp/codec/CMakeLists.txt index e47d7f18..57d9c2f0 100644 --- a/mpp/codec/CMakeLists.txt +++ b/mpp/codec/CMakeLists.txt @@ -16,13 +16,14 @@ add_subdirectory(enc) target_link_libraries(mpp_codec - codec_h264d - codec_vp9d - codec_h265d codec_avsd + codec_h263d + codec_h264d + codec_h265d codec_m2vd codec_mpg4d - codec_vp8d + codec_vp8d + codec_vp9d codec_dummy_enc codec_dummy_dec mpp_base) diff --git a/mpp/codec/dec/CMakeLists.txt b/mpp/codec/dec/CMakeLists.txt index 2a9a0ab4..648417d0 100644 --- a/mpp/codec/dec/CMakeLists.txt +++ b/mpp/codec/dec/CMakeLists.txt @@ -2,16 +2,19 @@ add_subdirectory(dummy) +add_subdirectory(avs) + +add_subdirectory(h263) + add_subdirectory(h264) add_subdirectory(h265) -add_subdirectory(vp9) - -add_subdirectory(avs) - add_subdirectory(m2v) add_subdirectory(mpg4) add_subdirectory(vp8) + +add_subdirectory(vp9) + diff --git a/mpp/codec/mpp_parser.cpp b/mpp/codec/mpp_parser.cpp index 607a02be..22017eca 100644 --- a/mpp/codec/mpp_parser.cpp +++ b/mpp/codec/mpp_parser.cpp @@ -24,6 +24,7 @@ #include "mpp_parser.h" +#include "h263d_api.h" #include "h264d_api.h" #include "h265d_api.h" #include "vp9d_api.h" @@ -38,13 +39,14 @@ * all decoder static register here */ static const ParserApi *parsers[] = { - &api_h264d_parser, - &api_vp9d_parser, - &api_h265d_parser, &api_avsd_parser, + &api_h263d_parser, + &api_h264d_parser, + &api_h265d_parser, &api_m2vd_parser, &api_mpg4d_parser, &api_vp8d_parser, + &api_vp9d_parser, &dummy_dec_parser, }; diff --git a/mpp/hal/CMakeLists.txt b/mpp/hal/CMakeLists.txt index 3e3de881..209c3c81 100644 --- a/mpp/hal/CMakeLists.txt +++ b/mpp/hal/CMakeLists.txt @@ -22,6 +22,8 @@ add_subdirectory(rkdec/vp9d) add_subdirectory(rkdec/avsd) +add_subdirectory(vpu/h263d) + add_subdirectory(vpu/m2vd) add_subdirectory(vpu/mpg4d) @@ -35,18 +37,19 @@ add_subdirectory(worker/libvpu) add_subdirectory(worker/libv4l2) if(RKPLATFORM) -set(RKPLAT_VPU vpu) +set(RKPLAT_VPU worker_vpu) endif(RKPLATFORM) target_link_libraries(mpp_hal + hal_avsd + hal_h263d hal_h264d hal_h265d - hal_vp9d - hal_avsd hal_m2vd hal_mpg4d - hal_vp8d + hal_vp8d + hal_vp9d hal_dummy ${RKPLAT_VPU} ) diff --git a/mpp/hal/mpp_hal.cpp b/mpp/hal/mpp_hal.cpp index b4985c92..76046010 100644 --- a/mpp/hal/mpp_hal.cpp +++ b/mpp/hal/mpp_hal.cpp @@ -25,6 +25,7 @@ #include "mpp_hal.h" #include "mpp_frame_impl.h" +#include "hal_h263d_api.h" #include "hal_h264d_api.h" #include "hal_h265d_api.h" #include "hal_vp9d_api.h" @@ -41,13 +42,14 @@ * all hardware api static register here */ static const MppHalApi *hw_apis[] = { + &hal_api_avsd, + &hal_api_h263d, &hal_api_h264d, &hal_api_h265d, - &hal_api_vp9d, - &hal_api_avsd, &hal_api_m2vd, &hal_api_mpg4d, &hal_api_vp8d, + &hal_api_vp9d, &hal_api_dummy_dec, &hal_api_dummy_enc, }; diff --git a/mpp/hal/worker/libvpu/CMakeLists.txt b/mpp/hal/worker/libvpu/CMakeLists.txt index 46dc92f4..6017593e 100644 --- a/mpp/hal/worker/libvpu/CMakeLists.txt +++ b/mpp/hal/worker/libvpu/CMakeLists.txt @@ -3,7 +3,7 @@ # add libvpu implement # ---------------------------------------------------------------------------- if(RKPLATFORM) -add_library(vpu STATIC +add_library(worker_vpu STATIC vpu.c ) endif(RKPLATFORM) diff --git a/mpp/legacy/CMakeLists.txt b/mpp/legacy/CMakeLists.txt index 54010e2d..bf091c37 100644 --- a/mpp/legacy/CMakeLists.txt +++ b/mpp/legacy/CMakeLists.txt @@ -21,8 +21,9 @@ 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 OUTPUT_NAME "vpu") set_target_properties(mpp_legacy_shared PROPERTIES CLEAN_DIRECT_OUTPUT 1) -if(RKPLATFORM) - target_link_libraries(mpp_legacy_shared vpu dl mpp_shared) + +if(RKPLATFORM) + target_link_libraries(mpp_legacy_shared worker_vpu dl mpp_shared) else() target_link_libraries(mpp_legacy_shared mpp_shared) endif() diff --git a/mpp/mpi.cpp b/mpp/mpi.cpp index a201a8a4..dbc9aa9e 100644 --- a/mpp/mpi.cpp +++ b/mpp/mpi.cpp @@ -37,7 +37,7 @@ typedef struct { static MppCodingTypeInfo support_list[] = { { 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_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", }, diff --git a/mpp/mpp.h b/mpp/mpp.h index 007cda32..8a5c794f 100644 --- a/mpp/mpp.h +++ b/mpp/mpp.h @@ -56,6 +56,8 @@ * +--------------+ +-----------+ +-----------+ +--------------+ */ +#ifdef __cplusplus + class Mpp { public: @@ -127,12 +129,8 @@ private: Mpp &operator=(const Mpp &); }; -#ifdef __cplusplus + extern "C" { -#endif - - -#ifdef __cplusplus } #endif