diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2016-08-02 07:55:31 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2016-08-11 10:54:44 +0200 |
commit | 1730a67ab99de0648dd55e81ea7fec12ab70225c (patch) | |
tree | 232cb02caace8db403fad9a2f5284131c2adcf07 /libavcodec/vp9mvs.c | |
parent | 5b995452a63ed754545a0ac90be79fac63b3390d (diff) | |
download | ffmpeg-streaming-1730a67ab99de0648dd55e81ea7fec12ab70225c.zip ffmpeg-streaming-1730a67ab99de0648dd55e81ea7fec12ab70225c.tar.gz |
vp9: add frame threading
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diffstat (limited to 'libavcodec/vp9mvs.c')
-rw-r--r-- | libavcodec/vp9mvs.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/vp9mvs.c b/libavcodec/vp9mvs.c index 5edcb19..dde0e84 100644 --- a/libavcodec/vp9mvs.c +++ b/libavcodec/vp9mvs.c @@ -164,6 +164,9 @@ static void find_ref_mvs(VP9Context *s, if (s->use_last_frame_mvs) { VP9MVRefPair *mv = &s->frames[LAST_FRAME].mv[row * s->sb_cols * 8 + col]; + if (!s->last_uses_2pass) + ff_thread_await_progress(&s->frames[LAST_FRAME].tf, row >> 3, 0); + if (mv->ref[0] == ref) RETURN_MV(mv->mv[0]); else if (mv->ref[1] == ref) @@ -205,6 +208,7 @@ static void find_ref_mvs(VP9Context *s, if (s->use_last_frame_mvs) { VP9MVRefPair *mv = &s->frames[LAST_FRAME].mv[row * s->sb_cols * 8 + col]; + // no need to await_progress, because we already did that above if (mv->ref[0] != ref && mv->ref[0] >= 0) RETURN_SCALE_MV(mv->mv[0], s->signbias[mv->ref[0]] != s->signbias[ref]); |