On 6/9/2020 7:22 PM, James Almer wrote: > This commit follows the same logic as 061a0c14bb, but for the encode API: The > new public encoding API will no longer be a wrapper around the old deprecated > one, and the internal API used by the encoders now consists of a single > receive_packet() callback that pulls frames as required. > > amf encoders adapted by James Almer > librav1e encoder adapted by James Almer > nvidia encoders adapted by James Almer > MediaFoundation encoders adapted by James Almer > vaapi encoders adapted by Linjie Fu > v4l2_m2m encoders adapted by Andriy Gelman > > Signed-off-by: James Almer <jamr...@gmail.com> > --- > Rebased once again. > > libavcodec/amfenc.c | 43 ++--- > libavcodec/amfenc.h | 2 - > libavcodec/amfenc_h264.c | 1 - > libavcodec/amfenc_hevc.c | 1 - > libavcodec/codec.h | 10 +- > libavcodec/encode.c | 286 ++++++++++++++++++++++++-------- > libavcodec/encode.h | 39 +++++ > libavcodec/internal.h | 7 +- > libavcodec/librav1e.c | 51 ++++-- > libavcodec/mfenc.c | 58 ++++--- > libavcodec/nvenc.c | 72 ++++---- > libavcodec/nvenc.h | 9 +- > libavcodec/nvenc_h264.c | 6 - > libavcodec/nvenc_hevc.c | 4 - > libavcodec/utils.c | 10 +- > libavcodec/v4l2_m2m.c | 8 + > libavcodec/v4l2_m2m.h | 3 + > libavcodec/v4l2_m2m_enc.c | 15 +- > libavcodec/vaapi_encode.c | 26 ++- > libavcodec/vaapi_encode.h | 3 +- > libavcodec/vaapi_encode_h264.c | 1 - > libavcodec/vaapi_encode_h265.c | 1 - > libavcodec/vaapi_encode_mjpeg.c | 1 - > libavcodec/vaapi_encode_mpeg2.c | 1 - > libavcodec/vaapi_encode_vp8.c | 1 - > libavcodec/vaapi_encode_vp9.c | 1 - > 26 files changed, 441 insertions(+), 219 deletions(-) > create mode 100644 libavcodec/encode.h
[...] > diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c > index cb05ebd774..98026f451a 100644 > --- a/libavcodec/vaapi_encode.c > +++ b/libavcodec/vaapi_encode.c > @@ -25,6 +25,7 @@ > #include "libavutil/pixdesc.h" > > #include "vaapi_encode.h" > +#include "encode.h" > #include "avcodec.h" > > const AVCodecHWConfigInternal *ff_vaapi_encode_hw_configs[] = { > @@ -1043,7 +1044,7 @@ static int vaapi_encode_check_frame(AVCodecContext > *avctx, > return 0; > } > > -int ff_vaapi_encode_send_frame(AVCodecContext *avctx, const AVFrame *frame) > +static int vaapi_encode_send_frame(AVCodecContext *avctx, AVFrame *frame) > { > VAAPIEncodeContext *ctx = avctx->priv_data; > VAAPIEncodePicture *pic; > @@ -1066,9 +1067,7 @@ int ff_vaapi_encode_send_frame(AVCodecContext *avctx, > const AVFrame *frame) > err = AVERROR(ENOMEM); > goto fail; > } > - err = av_frame_ref(pic->input_image, frame); > - if (err < 0) > - goto fail; > + av_frame_move_ref(pic->input_image, frame); Applied http://lists.ffmpeg.org/pipermail/ffmpeg-devel/2020-May/263318.html locally. Will push the set soon. _______________________________________________ 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".