Hi, HEAD currently does note pass "make fate-hevc THREADS=6" because of a missing output frame in POC_A. Except for this sequence, the patch passes for THREADS={2,3,4,6,7} on a 6-cores system.
This is more of an RFC because the value used in reporting surprises me and my understanding leads to the attached patch. Another point irrelevant to this patch is the "+9" in hevc_await_progress. While qpel may access 4 lines more (warranting a +4 or +5), I don't understand the rationale for +9. -- Christophe
From 02ea44ba0918ffc08045374355057e69767f9973 Mon Sep 17 00:00:00 2001 From: Christophe Gisquet <christophe.gisq...@gmail.com> Date: Fri, 18 Jul 2014 16:44:43 +0200 Subject: [PATCH] hevc: report more precise progress After a CTB has been filtered, only the bottom and rightmost parts may still be modified by filtering of other CTBs later on, for up to 4 pixels. Therefore, report progress up to those 4 bottom pixels. Up to 20% speedup for a lowdelay-P sequence using 6 cores. --- libavcodec/hevc_filter.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libavcodec/hevc_filter.c b/libavcodec/hevc_filter.c index 0d3e238..a724e78 100644 --- a/libavcodec/hevc_filter.c +++ b/libavcodec/hevc_filter.c @@ -687,17 +687,17 @@ void ff_hevc_hls_filter(HEVCContext *s, int x, int y, int ctb_size) if (y && x_end) { sao_filter_CTB(s, x, y - ctb_size); if (s->threads_type & FF_THREAD_FRAME ) - ff_thread_report_progress(&s->ref->tf, y - ctb_size, 0); + ff_thread_report_progress(&s->ref->tf, y - 4, 0); } if (x_end && y_end) { sao_filter_CTB(s, x , y); if (s->threads_type & FF_THREAD_FRAME ) - ff_thread_report_progress(&s->ref->tf, y, 0); + ff_thread_report_progress(&s->ref->tf, y + ctb_size - 4, 0); } } else { if (y && x >= s->sps->width - ctb_size) if (s->threads_type & FF_THREAD_FRAME ) - ff_thread_report_progress(&s->ref->tf, y, 0); + ff_thread_report_progress(&s->ref->tf, y + ctb_size - 4, 0); } } -- 1.9.2.msysgit.0
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel