[jpegd]: Fix stream copy_flag by hw cap

Change-Id: Iadcdb46f4828f8e5d9bc8fd77d76bd090a1e602e
Signed-off-by: Grey Li <grey.li@rock-chips.com>
Signed-off-by: Herman Chen <herman.chen@rock-chips.com>
This commit is contained in:
Grey Li
2022-03-25 17:27:25 +08:00
committed by Herman Chen
parent 5419a46a38
commit 1e1b58d5bd
4 changed files with 82 additions and 12 deletions

View File

@@ -79,6 +79,7 @@ static const MppDecHwCap vdpu1 = {
.cap_down_scale = 0,
.cap_lmt_linebuf = 1,
.cap_core_num = 1,
.cap_hw_jpg_fix = 0,
.reserved = 0,
};
@@ -96,6 +97,7 @@ static const MppDecHwCap vdpu1_2160p = {
.cap_down_scale = 0,
.cap_lmt_linebuf = 1,
.cap_core_num = 1,
.cap_hw_jpg_fix = 0,
.reserved = 0,
};
@@ -113,6 +115,7 @@ static const MppDecHwCap vdpu1_jpeg_pp = {
.cap_down_scale = 0,
.cap_lmt_linebuf = 1,
.cap_core_num = 1,
.cap_hw_jpg_fix = 0,
.reserved = 0,
};
@@ -130,6 +133,7 @@ static const MppDecHwCap vdpu2 = {
.cap_down_scale = 0,
.cap_lmt_linebuf = 1,
.cap_core_num = 1,
.cap_hw_jpg_fix = 0,
.reserved = 0,
};
@@ -147,6 +151,7 @@ static const MppDecHwCap vdpu2_jpeg = {
.cap_down_scale = 0,
.cap_lmt_linebuf = 1,
.cap_core_num = 1,
.cap_hw_jpg_fix = 0,
.reserved = 0,
};
@@ -164,6 +169,43 @@ static const MppDecHwCap vdpu2_jpeg_pp = {
.cap_down_scale = 0,
.cap_lmt_linebuf = 1,
.cap_core_num = 1,
.cap_hw_jpg_fix = 0,
.reserved = 0,
};
static const MppDecHwCap vdpu2_jpeg_fix = {
.cap_coding = HAVE_MJPEG,
.type = VPU_CLIENT_VDPU2,
.cap_fbc = 0,
.cap_4k = 0,
.cap_8k = 0,
.cap_colmv_buf = 0,
.cap_hw_h265_rps = 0,
.cap_hw_vp9_prob = 0,
.cap_jpg_pp_out = 0,
.cap_10bit = 0,
.cap_down_scale = 0,
.cap_lmt_linebuf = 1,
.cap_core_num = 1,
.cap_hw_jpg_fix = 1,
.reserved = 0,
};
static const MppDecHwCap vdpu2_jpeg_pp_fix = {
.cap_coding = CAP_CODING_JPEGD_PP,
.type = VPU_CLIENT_VDPU2_PP,
.cap_fbc = 0,
.cap_4k = 0,
.cap_8k = 0,
.cap_colmv_buf = 0,
.cap_hw_h265_rps = 0,
.cap_hw_vp9_prob = 0,
.cap_jpg_pp_out = 1,
.cap_10bit = 0,
.cap_down_scale = 0,
.cap_lmt_linebuf = 1,
.cap_core_num = 1,
.cap_hw_jpg_fix = 1,
.reserved = 0,
};
@@ -181,6 +223,7 @@ static const MppDecHwCap rk_hevc = {
.cap_down_scale = 0,
.cap_lmt_linebuf = 1,
.cap_core_num = 1,
.cap_hw_jpg_fix = 0,
.reserved = 0,
};
@@ -198,6 +241,7 @@ static const MppDecHwCap rk_hevc_1080p = {
.cap_down_scale = 0,
.cap_lmt_linebuf = 1,
.cap_core_num = 1,
.cap_hw_jpg_fix = 0,
.reserved = 0,
};
@@ -215,6 +259,7 @@ static const MppDecHwCap vdpu341 = {
.cap_down_scale = 0,
.cap_lmt_linebuf = 1,
.cap_core_num = 1,
.cap_hw_jpg_fix = 0,
.reserved = 0,
};
@@ -232,6 +277,7 @@ static const MppDecHwCap vdpu341_lite = {
.cap_down_scale = 0,
.cap_lmt_linebuf = 1,
.cap_core_num = 1,
.cap_hw_jpg_fix = 0,
.reserved = 0,
};
@@ -249,6 +295,7 @@ static const MppDecHwCap vdpu341_lite_1080p = {
.cap_down_scale = 0,
.cap_lmt_linebuf = 1,
.cap_core_num = 1,
.cap_hw_jpg_fix = 0,
.reserved = 0,
};
@@ -266,6 +313,7 @@ static const MppDecHwCap vdpu341_h264 = {
.cap_down_scale = 0,
.cap_lmt_linebuf = 1,
.cap_core_num = 1,
.cap_hw_jpg_fix = 0,
.reserved = 0,
};
@@ -284,6 +332,7 @@ static const MppDecHwCap vdpu34x = {
.cap_down_scale = 0,
.cap_lmt_linebuf = 0,
.cap_core_num = 1,
.cap_hw_jpg_fix = 0,
.reserved = 0,
};
@@ -301,6 +350,7 @@ static const MppDecHwCap vdpu38x = {
.cap_down_scale = 1,
.cap_lmt_linebuf = 0,
.cap_core_num = 2,
.cap_hw_jpg_fix = 0,
.reserved = 0,
};
@@ -318,6 +368,7 @@ static const MppDecHwCap avspd = {
.cap_down_scale = 0,
.cap_lmt_linebuf = 1,
.cap_core_num = 1,
.cap_hw_jpg_fix = 0,
.reserved = 0,
};
@@ -335,6 +386,7 @@ static const MppDecHwCap rkjpegd = {
.cap_down_scale = 0,
.cap_lmt_linebuf = 0,
.cap_core_num = 1,
.cap_hw_jpg_fix = 1,
.reserved = 0,
};
@@ -352,6 +404,7 @@ static const MppDecHwCap av1d = {
.cap_down_scale = 0,
.cap_lmt_linebuf = 1,
.cap_core_num = 1,
.cap_hw_jpg_fix = 0,
.reserved = 0,
};
@@ -636,7 +689,7 @@ static const MppSocInfo mpp_soc_infos[] = {
"rv1109",
ROCKCHIP_SOC_RV1109,
HAVE_VDPU2 | HAVE_VEPU2_JPEG | HAVE_RKVDEC | HAVE_RKVENC,
{ &vdpu2_jpeg, &vdpu341_lite, NULL, NULL, NULL, NULL, },
{ &vdpu2_jpeg_fix, &vdpu341_lite, NULL, NULL, NULL, NULL, },
{ &vepu2_jpeg, &vepu541, NULL, NULL, },
},
{ /*
@@ -648,7 +701,7 @@ static const MppSocInfo mpp_soc_infos[] = {
"rv1126",
ROCKCHIP_SOC_RV1126,
HAVE_VDPU2 | HAVE_VEPU2_JPEG | HAVE_RKVDEC | HAVE_RKVENC,
{ &vdpu2_jpeg, &vdpu341_lite, NULL, NULL, NULL, NULL, },
{ &vdpu2_jpeg_fix, &vdpu341_lite, NULL, NULL, NULL, NULL, },
{ &vepu2_jpeg, &vepu541, NULL, NULL, },
},
{ /*
@@ -659,7 +712,7 @@ static const MppSocInfo mpp_soc_infos[] = {
"rk3326",
ROCKCHIP_SOC_RK3326,
HAVE_VDPU2 | HAVE_VDPU2_PP | HAVE_VEPU2 | HAVE_HEVC_DEC,
{ &rk_hevc_1080p, &vdpu2, &vdpu2_jpeg_pp, NULL, NULL, NULL, },
{ &rk_hevc_1080p, &vdpu2, &vdpu2_jpeg_pp_fix, NULL, NULL, NULL, },
{ &vepu2, NULL, NULL, NULL, },
},
{ /*
@@ -670,7 +723,7 @@ static const MppSocInfo mpp_soc_infos[] = {
"px30",
ROCKCHIP_SOC_RK3326,
HAVE_VDPU2 | HAVE_VDPU2_PP | HAVE_VEPU2 | HAVE_HEVC_DEC,
{ &rk_hevc_1080p, &vdpu2, &vdpu2_jpeg_pp, NULL, NULL, NULL, },
{ &rk_hevc_1080p, &vdpu2, &vdpu2_jpeg_pp_fix, NULL, NULL, NULL, },
{ &vepu2, NULL, NULL, NULL, },
},
{ /*
@@ -692,7 +745,7 @@ static const MppSocInfo mpp_soc_infos[] = {
"rk3566",
ROCKCHIP_SOC_RK3566,
HAVE_VDPU2 | HAVE_VDPU2_PP | HAVE_VEPU2 | HAVE_RKVDEC | HAVE_RKVENC | HAVE_JPEG_DEC,
{ &vdpu34x, &rkjpegd, &vdpu2, &vdpu2_jpeg_pp, NULL, NULL, },
{ &vdpu34x, &rkjpegd, &vdpu2, &vdpu2_jpeg_pp_fix, NULL, NULL, },
{ &vepu540, &vepu2, NULL, NULL, },
},
{ /*
@@ -705,7 +758,7 @@ static const MppSocInfo mpp_soc_infos[] = {
"rk3568",
ROCKCHIP_SOC_RK3568,
HAVE_VDPU2 | HAVE_VDPU2_PP | HAVE_VEPU2 | HAVE_RKVDEC | HAVE_RKVENC | HAVE_JPEG_DEC,
{ &vdpu34x, &rkjpegd, &vdpu2, &vdpu2_jpeg_pp, NULL, NULL, },
{ &vdpu34x, &rkjpegd, &vdpu2, &vdpu2_jpeg_pp_fix, NULL, NULL, },
{ &vepu540, &vepu2, NULL, NULL, },
},
{ /*
@@ -719,7 +772,7 @@ static const MppSocInfo mpp_soc_infos[] = {
ROCKCHIP_SOC_RK3588,
HAVE_VDPU2 | HAVE_VDPU2_PP | HAVE_VEPU2 | HAVE_RKVDEC | HAVE_RKVENC |
HAVE_JPEG_DEC | HAVE_AV1DEC | HAVE_AVSDEC | HAVE_VEPU2_JPEG,
{ &vdpu38x, &rkjpegd, &vdpu2, &vdpu2_jpeg_pp, &av1d, &avspd},
{ &vdpu38x, &rkjpegd, &vdpu2, &vdpu2_jpeg_pp_fix, &av1d, &avspd},
{ &vepu58x, &vepu2, &vepu2_jpeg, NULL, },
},
{ /*