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

Michael Niedermayer michaelni at gmx.at
Fri Feb 28 13:52:37 EET 2020


On Thu, Feb 27, 2020 at 03:02:00PM -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.
> 
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
>  libavcodec/avcodec.h  |  12 +-
>  libavcodec/encode.c   | 268 ++++++++++++++++++++++++++++++++----------
>  libavcodec/encode.h   |  39 ++++++
>  libavcodec/internal.h |   7 +-
>  libavcodec/utils.c    |  12 +-
>  5 files changed, 268 insertions(+), 70 deletions(-)
>  create mode 100644 libavcodec/encode.h

this seems to break build here
:

ffbuild/common.mak:59: recipe for target 'libavcodec/vaapi_encode_vp9.o' failed
make: *** [libavcodec/vaapi_encode_vp9.o] Error 1
libavcodec/vaapi_encode_mjpeg.c:562:6: error: ‘AVCodec {aka struct AVCodec}’ has no member named ‘send_frame’; did you mean ‘long_name’?
     .send_frame     = &ff_vaapi_encode_send_frame,
      ^~~~~~~~~~
      long_name
libavcodec/vaapi_encode_mjpeg.c:562:23: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
     .send_frame     = &ff_vaapi_encode_send_frame,
                       ^
libavcodec/vaapi_encode_mjpeg.c:562:23: note: (near initialization for ‘ff_mjpeg_vaapi_encoder.encode_sub’)
ffbuild/common.mak:59: recipe for target 'libavcodec/vaapi_encode_mjpeg.o' failed
make: *** [libavcodec/vaapi_encode_mjpeg.o] Error 1
libavcodec/vaapi_encode_h265.c:1290:6: error: ‘AVCodec {aka struct AVCodec}’ has no member named ‘send_frame’; did you mean ‘long_name’?
     .send_frame     = &ff_vaapi_encode_send_frame,
      ^~~~~~~~~~
      long_name
libavcodec/vaapi_encode_h265.c:1290:23: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
     .send_frame     = &ff_vaapi_encode_send_frame,
                       ^
libavcodec/vaapi_encode_h265.c:1290:23: note: (near initialization for ‘ff_hevc_vaapi_encoder.encode_sub’)
libavcodec/vaapi_encode_mpeg2.c:700:6: error: ‘AVCodec {aka struct AVCodec}’ has no member named ‘send_frame’; did you mean ‘long_name’?
     .send_frame     = &ff_vaapi_encode_send_frame,
      ^~~~~~~~~~
      long_name
libavcodec/vaapi_encode_mpeg2.c:700:23: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
     .send_frame     = &ff_vaapi_encode_send_frame,
                       ^
libavcodec/vaapi_encode_mpeg2.c:700:23: note: (near initialization for ‘ff_mpeg2_vaapi_encoder.encode_sub’)
ffbuild/common.mak:59: recipe for target 'libavcodec/vaapi_encode_h265.o' failed
make: *** [libavcodec/vaapi_encode_h265.o] Error 1
ffbuild/common.mak:59: recipe for target 'libavcodec/vaapi_encode_mpeg2.o' failed
make: *** [libavcodec/vaapi_encode_mpeg2.o] Error 1
libavcodec/vaapi_encode_h264.c:1354:6: error: ‘AVCodec {aka struct AVCodec}’ has no member named ‘send_frame’; did you mean ‘long_name’?
     .send_frame     = &ff_vaapi_encode_send_frame,
      ^~~~~~~~~~
      long_name
libavcodec/vaapi_encode_h264.c:1354:23: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
     .send_frame     = &ff_vaapi_encode_send_frame,
                       ^
libavcodec/vaapi_encode_h264.c:1354:23: note: (near initialization for ‘ff_h264_vaapi_encoder.encode_sub’)
ffbuild/common.mak:59: recipe for target 'libavcodec/vaapi_encode_h264.o' failed
make: *** [libavcodec/vaapi_encode_h264.o] Error 1
libavcodec/vaapi_encode_vp8.c:255:6: error: ‘AVCodec {aka struct AVCodec}’ has no member named ‘send_frame’; did you mean ‘long_name’?
     .send_frame     = &ff_vaapi_encode_send_frame,
      ^~~~~~~~~~
      long_name
libavcodec/vaapi_encode_vp8.c:255:23: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
     .send_frame     = &ff_vaapi_encode_send_frame,
                       ^
libavcodec/vaapi_encode_vp8.c:255:23: note: (near initialization for ‘ff_vp8_vaapi_encoder.encode_sub’)
ffbuild/common.mak:59: recipe for target 'libavcodec/vaapi_encode_vp8.o' failed
make: *** [libavcodec/vaapi_encode_vp8.o] Error 1

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

Breaking DRM is a little like attempting to break through a door even
though the window is wide open and the only thing in the house is a bunch
of things you dont want and which you would get tomorrow for free anyway
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20200228/84df44b5/attachment.sig>


More information about the ffmpeg-devel mailing list