[thread] change wavefront dependencies to depend on bitstream writing instead of recon

* Possible fix for non-deterministic behaviour
This commit is contained in:
Marko Viitanen 2021-09-13 20:37:31 +03:00
parent 5271659f76
commit aa36c1e86b

View file

@ -895,13 +895,11 @@ static void encoder_state_encode_leaf(encoder_state_t * const state)
// Add local WPP dependancy to the LCU on the left. // Add local WPP dependancy to the LCU on the left.
if (lcu->left) { if (lcu->left) {
kvz_threadqueue_job_dep_add(job[0], job[-1]); kvz_threadqueue_job_dep_add(job[0], bitstream_job[-1]);
kvz_threadqueue_job_dep_add(bitstream_job[0], bitstream_job[-1]);
} }
// Add local WPP dependancy to the LCU on the top. // Add local WPP dependancy to the LCU on the top.
if (lcu->above) { if (lcu->above) {
kvz_threadqueue_job_dep_add(job[0], job[-state->tile->frame->width_in_lcu]); kvz_threadqueue_job_dep_add(job[0], bitstream_job[-state->tile->frame->width_in_lcu]);
kvz_threadqueue_job_dep_add(bitstream_job[0], bitstream_job[-state->tile->frame->width_in_lcu]);
} }
kvz_threadqueue_submit(state->encoder_control->threadqueue, job[0]); kvz_threadqueue_submit(state->encoder_control->threadqueue, job[0]);