diff mbox series

[FFmpeg-devel] lavc/qsvenc: return error with zero output

Message ID 20230810063714.457486-1-haihao.xiang@intel.com
State Accepted
Commit e0a5c35270c68d77d101e518901de5a9f002b451
Headers show
Series [FFmpeg-devel] lavc/qsvenc: return error with zero output | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Xiang, Haihao Aug. 10, 2023, 6:37 a.m. UTC
From: Haihao Xiang <haihao.xiang@intel.com>

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
---
 libavcodec/qsvenc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Xiang, Haihao Aug. 15, 2023, 8:15 a.m. UTC | #1
On Do, 2023-08-10 at 14:37 +0800, Xiang, Haihao wrote:
> From: Haihao Xiang <haihao.xiang@intel.com>
> 
> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
> ---
>  libavcodec/qsvenc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
> index 7ff9d333a2..b3b7475b0f 100644
> --- a/libavcodec/qsvenc.c
> +++ b/libavcodec/qsvenc.c
> @@ -2584,7 +2584,7 @@ int ff_qsv_encode(AVCodecContext *avctx, QSVEncContext
> *q,
>              pict_type = AV_PICTURE_TYPE_P;
>          else if (qpkt.bs->FrameType & MFX_FRAMETYPE_B || qpkt.bs->FrameType &
> MFX_FRAMETYPE_xB)
>              pict_type = AV_PICTURE_TYPE_B;
> -        else if (qpkt.bs->FrameType == MFX_FRAMETYPE_UNKNOWN) {
> +        else if (qpkt.bs->FrameType == MFX_FRAMETYPE_UNKNOWN && qpkt.bs-
> >DataLength) {
>              pict_type = AV_PICTURE_TYPE_NONE;
>              av_log(avctx, AV_LOG_WARNING, "Unknown FrameType, set pict_type
> to AV_PICTURE_TYPE_NONE.\n");
>          } else {

Will apply,

-Haihao
diff mbox series

Patch

diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
index 7ff9d333a2..b3b7475b0f 100644
--- a/libavcodec/qsvenc.c
+++ b/libavcodec/qsvenc.c
@@ -2584,7 +2584,7 @@  int ff_qsv_encode(AVCodecContext *avctx, QSVEncContext *q,
             pict_type = AV_PICTURE_TYPE_P;
         else if (qpkt.bs->FrameType & MFX_FRAMETYPE_B || qpkt.bs->FrameType & MFX_FRAMETYPE_xB)
             pict_type = AV_PICTURE_TYPE_B;
-        else if (qpkt.bs->FrameType == MFX_FRAMETYPE_UNKNOWN) {
+        else if (qpkt.bs->FrameType == MFX_FRAMETYPE_UNKNOWN && qpkt.bs->DataLength) {
             pict_type = AV_PICTURE_TYPE_NONE;
             av_log(avctx, AV_LOG_WARNING, "Unknown FrameType, set pict_type to AV_PICTURE_TYPE_NONE.\n");
         } else {