diff mbox

[FFmpeg-devel,v2] lavc/qsvenc: set pict_type to be I for IDR frames.

Message ID 1544600658-25119-1-git-send-email-zhong.li@intel.com
State Accepted
Commit 0aaaca25e044a4b87fb8f899f3a920b79163e811
Headers show

Commit Message

Zhong Li Dec. 12, 2018, 7:44 a.m. UTC
Signed-off-by: Zhong Li <zhong.li@intel.com>
---
 libavcodec/qsvenc.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

Comments

Zhong Li Dec. 18, 2018, 7:35 a.m. UTC | #1
>  libavcodec/qsvenc.c | 7 +++----
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c index
> 931e994..96cf642 100644
> --- a/libavcodec/qsvenc.c
> +++ b/libavcodec/qsvenc.c
> @@ -1377,11 +1377,10 @@ int ff_qsv_encode(AVCodecContext *avctx,
> QSVEncContext *q,
>          new_pkt.pts  = av_rescale_q(bs->TimeStamp,
> (AVRational){1, 90000}, avctx->time_base);
>          new_pkt.size = bs->DataLength;
> 
> -        if (bs->FrameType & MFX_FRAMETYPE_IDR ||
> -            bs->FrameType & MFX_FRAMETYPE_xIDR)
> +        if (bs->FrameType & MFX_FRAMETYPE_IDR || bs->FrameType &
> + MFX_FRAMETYPE_xIDR) {
>              new_pkt.flags |= AV_PKT_FLAG_KEY;
> -
> -        if (bs->FrameType & MFX_FRAMETYPE_I || bs->FrameType &
> MFX_FRAMETYPE_xI)
> +            pict_type = AV_PICTURE_TYPE_I;
> +        } else if (bs->FrameType & MFX_FRAMETYPE_I || bs->FrameType
> &
> + MFX_FRAMETYPE_xI)
>              pict_type = AV_PICTURE_TYPE_I;
>          else if (bs->FrameType & MFX_FRAMETYPE_P || bs->FrameType
> & MFX_FRAMETYPE_xP)
>              pict_type = AV_PICTURE_TYPE_P;
> --
> 2.7.4

Will apply if nobody against.
diff mbox

Patch

diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
index 931e994..96cf642 100644
--- a/libavcodec/qsvenc.c
+++ b/libavcodec/qsvenc.c
@@ -1377,11 +1377,10 @@  int ff_qsv_encode(AVCodecContext *avctx, QSVEncContext *q,
         new_pkt.pts  = av_rescale_q(bs->TimeStamp,       (AVRational){1, 90000}, avctx->time_base);
         new_pkt.size = bs->DataLength;
 
-        if (bs->FrameType & MFX_FRAMETYPE_IDR ||
-            bs->FrameType & MFX_FRAMETYPE_xIDR)
+        if (bs->FrameType & MFX_FRAMETYPE_IDR || bs->FrameType & MFX_FRAMETYPE_xIDR) {
             new_pkt.flags |= AV_PKT_FLAG_KEY;
-
-        if (bs->FrameType & MFX_FRAMETYPE_I || bs->FrameType & MFX_FRAMETYPE_xI)
+            pict_type = AV_PICTURE_TYPE_I;
+        } else if (bs->FrameType & MFX_FRAMETYPE_I || bs->FrameType & MFX_FRAMETYPE_xI)
             pict_type = AV_PICTURE_TYPE_I;
         else if (bs->FrameType & MFX_FRAMETYPE_P || bs->FrameType & MFX_FRAMETYPE_xP)
             pict_type = AV_PICTURE_TYPE_P;