[FFmpeg-devel] [PATCH] avcodec: add new Videotoolbox hwaccel.

Zhang Rui bbcallen at gmail.com
Mon Jul 27 12:13:30 CEST 2015


2015-07-15 21:51 GMT+08:00 Clément Bœsch <u at pkh.me>:
> On Sat, Jun 20, 2015 at 01:33:00PM +0200, Sebastien Zwickert wrote:
>> Old videtotoolbox patch rebased and updated to target the new HWAccel API.
>> As VDA is a wrapper of VideoToolbox framework, the changes base vda implementation
>> upon the videotoolbox implementation to factorize common part of code.
>>
>> ---
>>  Changelog                    |   1 +
>>  MAINTAINERS                  |   1 +
>>  Makefile                     |   5 +-
>>  configure                    |  19 +-
>>  ffmpeg.h                     |   2 +
>>  ffmpeg_opt.c                 |   5 +-
>>  ffmpeg_vda.c                 | 134 --------
>>  ffmpeg_videotoolbox.c        | 147 +++++++++
>>  libavcodec/Makefile          |  12 +-
>>  libavcodec/allcodecs.c       |   5 +
>>  libavcodec/h263dec.c         |   3 +
>>  libavcodec/h264_slice.c      |   4 +
>>  libavcodec/mpeg12dec.c       |   3 +
>>  libavcodec/vda.c             |   2 +-
>>  libavcodec/vda_h264.c        | 154 +---------
>>  libavcodec/vda_internal.h    |  33 --
>>  libavcodec/vda_vt_internal.h |  57 ++++
>>  libavcodec/version.h         |   2 +-
>>  libavcodec/videotoolbox.c    | 705 +++++++++++++++++++++++++++++++++++++++++++
>>  libavcodec/videotoolbox.h    | 126 ++++++++
>>  libavutil/pixdesc.c          |   4 +
>>  libavutil/pixfmt.h           |   2 +
>
> I tried on iOS (iPhone 6+ so last one unless I'm mistaken) with a 240fps
> footage, and it seems the decode calls take more than 5ms, which seems not
> enough. Do you have any idea what could cause this? (I'm running a timer
> after/before avcodec_decode_video*())

1. kVTDecodeFrame_EnableAsynchronousDecompression can make it faster,
but not suitable for sync-style API (avcodec_decode_video*())
2. memcpy is murder (in av_image_copy()), but zero-copy needs some
kind of custom AVFrame.

> [...]
>
> --
> Clément B.
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>


More information about the ffmpeg-devel mailing list