Re: [FFmpeg-devel] [PATCH 04/25] avcodec/v4l2_m2m_enc: add support for -force_key_frames

2019-09-12 Thread Guo, Yejun
hi

> -Original Message-
> From: ffmpeg-devel [mailto:ffmpeg-devel-boun...@ffmpeg.org] On Behalf Of
> Aman Gupta
> Sent: Tuesday, September 03, 2019 9:02 AM
> To: ffmpeg-devel@ffmpeg.org
> Cc: loru...@gmail.com; Aman Gupta ;
> jorge.ramirez.or...@gmail.com; Aman Gupta 
> Subject: [FFmpeg-devel] [PATCH 04/25] avcodec/v4l2_m2m_enc: add support
> for -force_key_frames
> 
> From: Aman Gupta 
> 
> Signed-off-by: Aman Gupta 
> ---
>  libavcodec/v4l2_m2m_enc.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/libavcodec/v4l2_m2m_enc.c b/libavcodec/v4l2_m2m_enc.c
> index 27bb254fc1..a0d5bcf760 100644
> --- a/libavcodec/v4l2_m2m_enc.c
> +++ b/libavcodec/v4l2_m2m_enc.c
> @@ -245,6 +245,9 @@ static int v4l2_send_frame(AVCodecContext *avctx,
> const AVFrame *frame)
>  V4L2m2mContext *s = ((V4L2m2mPriv*)avctx->priv_data)->context;
>  V4L2Context *const output = >output;
> 
> +if (frame && frame->pict_type == AV_PICTURE_TYPE_I)
> +v4l2_set_ext_ctrl(s, MPEG_CID(FORCE_KEY_FRAME), 0, "force key
> frame");
> +

looks that a version check is needed here. seems that this macro is introduced 
by https://patchwork.kernel.org/patch/8058501/. 

There is build error on my machine after I rebase master.

src/libavcodec/v4l2_m2m_enc.c: In function ‘v4l2_set_ext_ctrl’:
src/libavcodec/v4l2_m2m_enc.c:51:12: warning: braces around scalar initializer
 struct v4l2_ext_controls ctrls = { { 0 } };
^
src/libavcodec/v4l2_m2m_enc.c:51:12: note: (near initialization for 
‘ctrls.ctrl_class’)
src/libavcodec/v4l2_m2m_enc.c: In function ‘v4l2_get_ext_ctrl’:
src/libavcodec/v4l2_m2m_enc.c:71:12: warning: braces around scalar initializer
 struct v4l2_ext_controls ctrls = { { 0 } };
^
src/libavcodec/v4l2_m2m_enc.c:71:12: note: (near initialization for 
‘ctrls.ctrl_class’)
src/libavcodec/v4l2_m2m_enc.c: In function ‘v4l2_send_frame’:
src/libavcodec/v4l2_m2m_enc.c:34:21: error: 
‘V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME’ undeclared (first use in this function)
 #define MPEG_CID(x) V4L2_CID_MPEG_VIDEO_##x
 ^
src/libavcodec/v4l2_m2m_enc.c:249:30: note: in expansion of macro ‘MPEG_CID’
 v4l2_set_ext_ctrl(s, MPEG_CID(FORCE_KEY_FRAME), 0, "force key frame");
  ^
src/libavcodec/v4l2_m2m_enc.c:34:21: note: each undeclared identifier is 
reported only once for each function it appears in
 #define MPEG_CID(x) V4L2_CID_MPEG_VIDEO_##x
 ^
src/libavcodec/v4l2_m2m_enc.c:249:30: note: in expansion of macro ‘MPEG_CID’
 v4l2_set_ext_ctrl(s, MPEG_CID(FORCE_KEY_FRAME), 0, "force key frame");
  ^
src/ffbuild/common.mak:59: recipe for target 'libavcodec/v4l2_m2m_enc.o' failed
make: *** [libavcodec/v4l2_m2m_enc.o] Error 1
make: *** Waiting for unfinished jobs


>  return ff_v4l2_context_enqueue_frame(output, frame);
>  }
> 
> --
> 2.20.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-requ...@ffmpeg.org with subject "unsubscribe".
___
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

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

[FFmpeg-devel] [PATCH 04/25] avcodec/v4l2_m2m_enc: add support for -force_key_frames

2019-09-02 Thread Aman Gupta
From: Aman Gupta 

Signed-off-by: Aman Gupta 
---
 libavcodec/v4l2_m2m_enc.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/libavcodec/v4l2_m2m_enc.c b/libavcodec/v4l2_m2m_enc.c
index 27bb254fc1..a0d5bcf760 100644
--- a/libavcodec/v4l2_m2m_enc.c
+++ b/libavcodec/v4l2_m2m_enc.c
@@ -245,6 +245,9 @@ static int v4l2_send_frame(AVCodecContext *avctx, const 
AVFrame *frame)
 V4L2m2mContext *s = ((V4L2m2mPriv*)avctx->priv_data)->context;
 V4L2Context *const output = >output;
 
+if (frame && frame->pict_type == AV_PICTURE_TYPE_I)
+v4l2_set_ext_ctrl(s, MPEG_CID(FORCE_KEY_FRAME), 0, "force key frame");
+
 return ff_v4l2_context_enqueue_frame(output, frame);
 }
 
-- 
2.20.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-requ...@ffmpeg.org with subject "unsubscribe".