mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-11-03 01:33:35 +08:00
[mpp_enc_v2]: Fix missing resend_hdr on codec changed
Change-Id: I5ea13f3e5a285a02903c4b65b2854169c0b3753c Signed-off-by: sayon.chen <sayon.chen@rock-chips.com>
This commit is contained in:
@@ -272,6 +272,31 @@ static MPP_RET check_enc_task_wait(MppEncImpl *enc, EncTask *task)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static RK_S32 check_codec_to_resend_hdr(MppEncCodecCfg *codec)
|
||||
{
|
||||
MppCodingType coding = codec->coding;
|
||||
switch (coding) {
|
||||
case MPP_VIDEO_CodingAVC : {
|
||||
MppEncH264Cfg *h264 = &codec->h264;
|
||||
if (h264->change & (~MPP_ENC_H264_CFG_CHANGE_QP_LIMIT))
|
||||
return 1;
|
||||
} break;
|
||||
case MPP_VIDEO_CodingHEVC : {
|
||||
MppEncH265Cfg *h265 = &codec->h265;
|
||||
if (h265->change & (~MPP_ENC_H265_CFG_RC_QP_CHANGE))
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case MPP_VIDEO_CodingVP8 : {
|
||||
} break;
|
||||
case MPP_VIDEO_CodingMJPEG : {
|
||||
} break;
|
||||
default : {
|
||||
} break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static RK_S32 check_resend_hdr(MpiCmd cmd, void *param, MppEncCfgSet *cfg)
|
||||
{
|
||||
if (cmd == MPP_ENC_SET_CODEC_CFG ||
|
||||
@@ -305,8 +330,10 @@ static RK_S32 check_resend_hdr(MpiCmd cmd, void *param, MppEncCfgSet *cfg)
|
||||
|
||||
if (change & check_flag)
|
||||
return 1;
|
||||
if (check_codec_to_resend_hdr(&cfg->codec)) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user