From: Tong Wu <[email protected]> This codec supports FLAG_B_PICTURE_REFERENCES. We need to fill reference_pic_flag with pic->is_reference.
Signed-off-by: Tong Wu <[email protected]> --- libavcodec/vaapi_encode_h265.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libavcodec/vaapi_encode_h265.c b/libavcodec/vaapi_encode_h265.c index c4aabbf5ed..bbd5e7d872 100644 --- a/libavcodec/vaapi_encode_h265.c +++ b/libavcodec/vaapi_encode_h265.c @@ -764,6 +764,7 @@ static int vaapi_encode_h265_init_picture_params(AVCodecContext *avctx, VAAPIEncodePicture *prev = pic->prev; VAAPIEncodeH265Picture *hprev = prev ? prev->priv_data : NULL; VAEncPictureParameterBufferHEVC *vpic = pic->codec_picture_params; + int is_ref = pic->is_reference; int i, j = 0; if (pic->type == PICTURE_TYPE_IDR) { @@ -949,22 +950,22 @@ static int vaapi_encode_h265_init_picture_params(AVCodecContext *avctx, case PICTURE_TYPE_IDR: vpic->pic_fields.bits.idr_pic_flag = 1; vpic->pic_fields.bits.coding_type = 1; - vpic->pic_fields.bits.reference_pic_flag = 1; + vpic->pic_fields.bits.reference_pic_flag = is_ref; break; case PICTURE_TYPE_I: vpic->pic_fields.bits.idr_pic_flag = 0; vpic->pic_fields.bits.coding_type = 1; - vpic->pic_fields.bits.reference_pic_flag = 1; + vpic->pic_fields.bits.reference_pic_flag = is_ref; break; case PICTURE_TYPE_P: vpic->pic_fields.bits.idr_pic_flag = 0; vpic->pic_fields.bits.coding_type = 2; - vpic->pic_fields.bits.reference_pic_flag = 1; + vpic->pic_fields.bits.reference_pic_flag = is_ref; break; case PICTURE_TYPE_B: vpic->pic_fields.bits.idr_pic_flag = 0; vpic->pic_fields.bits.coding_type = 3; - vpic->pic_fields.bits.reference_pic_flag = 0; + vpic->pic_fields.bits.reference_pic_flag = is_ref; break; default: av_assert0(0 && "invalid picture type"); -- 2.41.0.windows.1 _______________________________________________ ffmpeg-devel mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
