[FFmpeg-devel] [PATCH 0/9] Merge Libav changes that allow frame theading with hwaccels

wm4 nfxjfg at googlemail.com
Tue Mar 21 07:42:52 EET 2017


On Sat, 18 Mar 2017 09:55:57 +0100
wm4 <nfxjfg at googlemail.com> wrote:

> Correctness of my merge questionable. Appears to merge.
> 
> Anton Khirnov (5):
>   pthread_frame: use atomics for PerThreadContext.state
>   pthread_frame: use atomics for frame progress
>   pthread_frame: properly propagate the hw frame context across frame
>     threads
>   pthread_frame: ensure the threads don't run simultaneously with
>     hwaccel
>   pthread_frame: do not run hwaccel decoding asynchronously unless it's
>     safe
> 
> Mark Thompson (1):
>   pthread_frame: Unreference hw_frames_ctx on per-thread codec contexts
> 
> Wan-Teh Chang (1):
>   pthread_frame: use better memory orders for frame progress
> 
> wm4 (2):
>   pthread_frame: remove some dead code
>   avcodec: remove warning against using frame threading with hwaccels
> 
>  libavcodec/avcodec.h       |   5 +
>  libavcodec/h263dec.c       |   2 +-
>  libavcodec/h264dec.c       |   2 +-
>  libavcodec/hwaccel.h       |  24 +++++
>  libavcodec/pthread_frame.c | 221 ++++++++++++++++++++++++++++++++-------------
>  libavcodec/utils.c         |   5 -
>  libavcodec/vaapi_h264.c    |   2 +
>  libavcodec/vaapi_mpeg2.c   |   2 +
>  libavcodec/vaapi_mpeg4.c   |   3 +
>  libavcodec/vaapi_vc1.c     |   3 +
>  libavcodec/vdpau_h264.c    |   2 +
>  libavcodec/vdpau_hevc.c    |   2 +
>  libavcodec/vdpau_mpeg12.c  |   3 +
>  libavcodec/vdpau_mpeg4.c   |   2 +
>  libavcodec/vdpau_vc1.c     |   3 +
>  libavcodec/version.h       |   2 +-
>  16 files changed, 214 insertions(+), 69 deletions(-)
>  create mode 100644 libavcodec/hwaccel.h
> 

It got an additional review by BBB on IRC. Also tested this with
dxva2 on Windows (since that's a case that has been known to be
especially prone to this issue). Pushed.


More information about the ffmpeg-devel mailing list