diff mbox series

[FFmpeg-devel,v2] avcodec/libsvtav1: pass pict_type to library

Message ID 20220425225438.434800-1-ccom@randomderp.com
State Accepted
Commit 6fd1533057ff4f966efc169b71f8c3770843fc49
Headers show
Series [FFmpeg-devel,v2] avcodec/libsvtav1: pass pict_type to library | 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
andriy/make_armv7_RPi4 success Make finished
andriy/make_fate_armv7_RPi4 success Make fate finished

Commit Message

Christopher Degawa April 25, 2022, 10:54 p.m. UTC
match the behavior of SvtAv1EncApp to ensure pic_type is always set
before passing it to the library.

The other options for pic_type aren't currently used inside the library,
so they aren't introduced in this patch.

Signed-off-by: Christopher Degawa <ccom@randomderp.com>
---
 libavcodec/libsvtav1.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

Comments

James Almer April 25, 2022, 11:05 p.m. UTC | #1
On 4/25/2022 7:54 PM, Christopher Degawa wrote:
> match the behavior of SvtAv1EncApp to ensure pic_type is always set
> before passing it to the library.
> 
> The other options for pic_type aren't currently used inside the library,
> so they aren't introduced in this patch.
> 
> Signed-off-by: Christopher Degawa <ccom@randomderp.com>
> ---
>   libavcodec/libsvtav1.c | 10 ++++++++++
>   1 file changed, 10 insertions(+)
> 
> diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c
> index 2e3d96ce37..088b9bab02 100644
> --- a/libavcodec/libsvtav1.c
> +++ b/libavcodec/libsvtav1.c
> @@ -404,6 +404,16 @@ static int eb_send_frame(AVCodecContext *avctx, const AVFrame *frame)
>       headerPtr->p_app_private = NULL;
>       headerPtr->pts           = frame->pts;
>   
> +    switch (frame->pict_type) {
> +    case AV_PICTURE_TYPE_I:
> +        headerPtr->pic_type = EB_AV1_KEY_PICTURE;
> +        break;
> +    default:
> +        // Actually means auto, or default.
> +        headerPtr->pic_type = EB_AV1_INVALID_PICTURE;
> +        break;
> +    }
> +
>       svt_av1_enc_send_picture(svt_enc->svt_handle, headerPtr);
>   
>       return 0;

Should be ok.
diff mbox series

Patch

diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c
index 2e3d96ce37..088b9bab02 100644
--- a/libavcodec/libsvtav1.c
+++ b/libavcodec/libsvtav1.c
@@ -404,6 +404,16 @@  static int eb_send_frame(AVCodecContext *avctx, const AVFrame *frame)
     headerPtr->p_app_private = NULL;
     headerPtr->pts           = frame->pts;
 
+    switch (frame->pict_type) {
+    case AV_PICTURE_TYPE_I:
+        headerPtr->pic_type = EB_AV1_KEY_PICTURE;
+        break;
+    default:
+        // Actually means auto, or default.
+        headerPtr->pic_type = EB_AV1_INVALID_PICTURE;
+        break;
+    }
+
     svt_av1_enc_send_picture(svt_enc->svt_handle, headerPtr);
 
     return 0;