Message ID | 20191209191652.222576-1-stephan@gerhold.net (mailing list archive) |
---|---|
State | Accepted |
Commit | c50cc6dc6c48300af63a6fbc71b647053c15fc80 |
Headers | show |
Series | media: venus: hfi_parser: Ignore HEVC encoding for V1 | expand |
Hi Stephan, Thanks for the patch! On 12/9/19 9:16 PM, Stephan Gerhold wrote: > Some older MSM8916 Venus firmware versions also seem to indicate > support for encoding HEVC, even though they really can't. > This will lead to errors later because hfi_session_init() fails > in this case. > > HEVC is already ignored for "dec_codecs", so add the same for > "enc_codecs" to make these old firmware versions work correctly. > > Signed-off-by: Stephan Gerhold <stephan@gerhold.net> > --- > This makes Venus work on the Samsung Galaxy S4 Mini VE (MSM8916), > which is stuck on a rather old Venus firmware version (1.6-00040). > The firmware is signed, so unfortunately I'm not aware of a way to upgrade it... > --- > drivers/media/platform/qcom/venus/hfi_parser.c | 1 + > 1 file changed, 1 insertion(+) Acked-by: Stanimir Varbanov <stanimir.varbanov@linaro.org> > > diff --git a/drivers/media/platform/qcom/venus/hfi_parser.c b/drivers/media/platform/qcom/venus/hfi_parser.c > index 2293d936e49c..7f515a4b9bd1 100644 > --- a/drivers/media/platform/qcom/venus/hfi_parser.c > +++ b/drivers/media/platform/qcom/venus/hfi_parser.c > @@ -181,6 +181,7 @@ static void parse_codecs(struct venus_core *core, void *data) > if (IS_V1(core)) { > core->dec_codecs &= ~HFI_VIDEO_CODEC_HEVC; > core->dec_codecs &= ~HFI_VIDEO_CODEC_SPARK; > + core->enc_codecs &= ~HFI_VIDEO_CODEC_HEVC; > } > } > >
diff --git a/drivers/media/platform/qcom/venus/hfi_parser.c b/drivers/media/platform/qcom/venus/hfi_parser.c index 2293d936e49c..7f515a4b9bd1 100644 --- a/drivers/media/platform/qcom/venus/hfi_parser.c +++ b/drivers/media/platform/qcom/venus/hfi_parser.c @@ -181,6 +181,7 @@ static void parse_codecs(struct venus_core *core, void *data) if (IS_V1(core)) { core->dec_codecs &= ~HFI_VIDEO_CODEC_HEVC; core->dec_codecs &= ~HFI_VIDEO_CODEC_SPARK; + core->enc_codecs &= ~HFI_VIDEO_CODEC_HEVC; } }
Some older MSM8916 Venus firmware versions also seem to indicate support for encoding HEVC, even though they really can't. This will lead to errors later because hfi_session_init() fails in this case. HEVC is already ignored for "dec_codecs", so add the same for "enc_codecs" to make these old firmware versions work correctly. Signed-off-by: Stephan Gerhold <stephan@gerhold.net> --- This makes Venus work on the Samsung Galaxy S4 Mini VE (MSM8916), which is stuck on a rather old Venus firmware version (1.6-00040). The firmware is signed, so unfortunately I'm not aware of a way to upgrade it... --- drivers/media/platform/qcom/venus/hfi_parser.c | 1 + 1 file changed, 1 insertion(+)