Hi Anton,

On Wed, Nov 30, 2016 at 1:03 PM, Anton Khirnov <an...@khirnov.net> wrote:
>
> Did you see any measurable change in performance after this patch?

This patch is intended to avoid confusion when one inspects the source code.

ff_thread_report_progress() and ff_thread_await_progress() form a
pair. ff_thread_await_progress() reads progress[field] with the
"acquire" memory order (in the fast code path). Therefore, one expects
to see ff_thread_report_progress() write progress[field] with the
matching "release" memory order.

In the fast code path in  ff_thread_report_progress(), the atomic load
of progress[field] doesn't need the "acquire" memory order because the
calling thread is trying to make the data it just decoded visible to
the other threads, rather than trying to read the data decoded by
other threads.

Please let me know if you have other questions.

Thanks,
Wan-Teh Chang
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to