Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH v2 1/2] avcodec/vaapi_encode_h264: use is_reference to fill reference_pic_flag
@ 2024-03-05  7:57 tong1.wu-at-intel.com
  2024-03-05  7:57 ` [FFmpeg-devel] [PATCH v2 2/2] avcodec/vaapi_encode_h265: " tong1.wu-at-intel.com
  0 siblings, 1 reply; 2+ messages in thread
From: tong1.wu-at-intel.com @ 2024-03-05  7:57 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Tong Wu

From: Tong Wu <tong1.wu@intel.com>

This codec supports FLAG_B_PICTURE_REFERENCES. We need to correctly fill
the reference_pic_flag with is_reference variable instead of 0 for B
frames.

Signed-off-by: Tong Wu <tong1.wu@intel.com>
---
 libavcodec/vaapi_encode_h264.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/vaapi_encode_h264.c b/libavcodec/vaapi_encode_h264.c
index 37df9103ae..4a738215c1 100644
--- a/libavcodec/vaapi_encode_h264.c
+++ b/libavcodec/vaapi_encode_h264.c
@@ -759,7 +759,7 @@ static int vaapi_encode_h264_init_picture_params(AVCodecContext *avctx,
     vpic->frame_num = hpic->frame_num;
 
     vpic->pic_fields.bits.idr_pic_flag       = (pic->type == PICTURE_TYPE_IDR);
-    vpic->pic_fields.bits.reference_pic_flag = (pic->type != PICTURE_TYPE_B);
+    vpic->pic_fields.bits.reference_pic_flag = pic->is_reference;
 
     return 0;
 }
-- 
2.41.0.windows.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [FFmpeg-devel] [PATCH v2 2/2] avcodec/vaapi_encode_h265: use is_reference to fill reference_pic_flag
  2024-03-05  7:57 [FFmpeg-devel] [PATCH v2 1/2] avcodec/vaapi_encode_h264: use is_reference to fill reference_pic_flag tong1.wu-at-intel.com
@ 2024-03-05  7:57 ` tong1.wu-at-intel.com
  0 siblings, 0 replies; 2+ messages in thread
From: tong1.wu-at-intel.com @ 2024-03-05  7:57 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Tong Wu

From: Tong Wu <tong1.wu@intel.com>

This codec supports FLAG_B_PICTURE_REFERENCES. We need to fill
reference_pic_flag with pic->is_reference.

Signed-off-by: Tong Wu <tong1.wu@intel.com>
---
 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
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-03-05  7:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-05  7:57 [FFmpeg-devel] [PATCH v2 1/2] avcodec/vaapi_encode_h264: use is_reference to fill reference_pic_flag tong1.wu-at-intel.com
2024-03-05  7:57 ` [FFmpeg-devel] [PATCH v2 2/2] avcodec/vaapi_encode_h265: " tong1.wu-at-intel.com

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git