The position is either rounded or not checked, so delay the wait to check the proper value.
Reviewed-by: Mickaƫl Raulet <[email protected]> Signed-off-by: Michael Niedermayer <[email protected]> --- libavcodec/hevc_mvs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavcodec/hevc_mvs.c b/libavcodec/hevc_mvs.c index eb55a4d..0532485 100644 --- a/libavcodec/hevc_mvs.c +++ b/libavcodec/hevc_mvs.c @@ -267,13 +267,13 @@ static int temporal_luma_motion_vector(HEVCContext *s, int x0, int y0, x = x0 + nPbW; y = y0 + nPbH; - ff_thread_await_progress(&ref->tf, y, 0); if (tab_mvf && (y0 >> s->sps->log2_ctb_size) == (y >> s->sps->log2_ctb_size) && y < s->sps->height && x < s->sps->width) { x &= -16; y &= -16; + ff_thread_await_progress(&ref->tf, y, 0); x_pu = x >> s->sps->log2_min_pu_size; y_pu = y >> s->sps->log2_min_pu_size; temp_col = TAB_MVF(x_pu, y_pu); @@ -286,6 +286,7 @@ static int temporal_luma_motion_vector(HEVCContext *s, int x0, int y0, y = y0 + (nPbH >> 1); x &= -16; y &= -16; + ff_thread_await_progress(&ref->tf, y, 0); x_pu = x >> s->sps->log2_min_pu_size; y_pu = y >> s->sps->log2_min_pu_size; temp_col = TAB_MVF(x_pu, y_pu); -- 1.9.2.msysgit.0 _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
