[FFmpeg-devel] [PATCH] avcodec/encode: restructure the core encoding code

Michael Niedermayer michael at niedermayer.cc
Wed Jun 10 00:33:19 EEST 2020


On Tue, May 26, 2020 at 11:35:39AM -0300, 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 <jamrial at gmail.com>
> ---
>  libavcodec/amfenc.c             |  43 ++---
>  libavcodec/amfenc.h             |   2 -
>  libavcodec/amfenc_h264.c        |   1 -
>  libavcodec/amfenc_hevc.c        |   1 -
>  libavcodec/avcodec.h            |  12 +-
>  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, 442 insertions(+), 220 deletions(-)
>  create mode 100644 libavcodec/encode.h

this doesnt apply (anymore) automatically

Applying: This commit follows the same logic as 061a0c14bb, but for the encode API: The
Using index info to reconstruct a base tree...
M	libavcodec/avcodec.h
M	libavcodec/encode.c
M	libavcodec/internal.h
M	libavcodec/mfenc.c
M	libavcodec/nvenc.c
M	libavcodec/utils.c
M	libavcodec/v4l2_m2m_enc.c
Falling back to patching base and 3-way merge...
Auto-merging libavcodec/v4l2_m2m_enc.c
Auto-merging libavcodec/utils.c
Auto-merging libavcodec/nvenc.c
Auto-merging libavcodec/mfenc.c
Auto-merging libavcodec/internal.h
Auto-merging libavcodec/encode.c
Auto-merging libavcodec/avcodec.h
CONFLICT (content): Merge conflict in libavcodec/avcodec.h

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

While the State exists there can be no freedom; when there is freedom there
will be no State. -- Vladimir Lenin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20200609/fc901973/attachment.sig>


More information about the ffmpeg-devel mailing list