0018-FFmpeg-omx-gop-parameter-of-hevc-encoder.patch 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. From 67b9e00e3abaa9179de91387bab9d00aa994d250 Mon Sep 17 00:00:00 2001
  2. From: "arvin.zhu" <arvin.zhu@starfivetech.com>
  3. Date: Wed, 2 Nov 2022 12:32:56 +0800
  4. Subject: [PATCH] FFmpeg:omx: gop parameter of hevc encoder
  5. repair gop parameter of hevc encoder not take effect
  6. Signed-off-by: arvin.zhu <arvin.zhu@starfivetech.com>
  7. ---
  8. libavcodec/omx.c | 5 ++---
  9. 1 file changed, 2 insertions(+), 3 deletions(-)
  10. diff --git a/libavcodec/omx.c b/libavcodec/omx.c
  11. index 77012ce..d101fa4 100755
  12. --- a/libavcodec/omx.c
  13. +++ b/libavcodec/omx.c
  14. @@ -561,13 +561,12 @@ static av_cold int omx_component_init(AVCodecContext *avctx, const char *role)
  15. err = OMX_SetParameter(s->handle, OMX_IndexParamVideoAvc, &avc);
  16. CHECK(err);
  17. } else if (avctx->codec->id == AV_CODEC_ID_HEVC) {
  18. - OMX_VIDEO_PARAM_AVCTYPE hevc = { 0 };
  19. + OMX_VIDEO_PARAM_HEVCTYPE hevc = { 0 };
  20. INIT_STRUCT(hevc);
  21. hevc.nPortIndex = s->out_port;
  22. err = OMX_GetParameter(s->handle, OMX_IndexParamVideoHevc, &hevc);
  23. CHECK(err);
  24. - hevc.nBFrames = 0;
  25. - hevc.nPFrames = avctx->gop_size;
  26. + hevc.nKeyFrameInterval = avctx->gop_size;
  27. err = OMX_SetParameter(s->handle, OMX_IndexParamVideoHevc, &hevc);
  28. CHECK(err);
  29. }
  30. --
  31. 2.17.1