ffmpeg | branch: master | Nuo Mi <nuomi2...@gmail.com> | Sun Jul 28 11:17:57 2024 +0800| [bdb79fe60afaf54505f1ffa8b5324bf05c700929] | committer: Nuo Mi
avcodec/vvcdec: thread, ensure the parse stage gets the highest priority The parser stage is not parallelizable. We need to schedule it as soon as possible to create later stages, which are more parallelizable clips | before | after | delta --------------------------------------------|--------|-------|------ RitualDance_1920x1080_60_10_420_37_RA.266 | 342.7 | 365.3 | 6.59% NovosobornayaSquare_1920x1080.bin | 321.7 | 400 | 24.34% Tango2_3840x2160_60_10_420_27_LD.266 | 82.3 | 91.7 | 11.42% RitualDance_1920x1080_60_10_420_32_LD.266 | 323.7 | 319.3 | -1.36% Chimera_8bit_1080P_1000_frames.vvc | 364 | 411.3 | 12.99% BQTerrace_1920x1080_60_10_420_22_RA.vvc | 162.7 | 185.7 | 14.14% > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bdb79fe60afaf54505f1ffa8b5324bf05c700929 --- libavcodec/vvc/thread.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/vvc/thread.c b/libavcodec/vvc/thread.c index 8dd9a36fd5..28065d726f 100644 --- a/libavcodec/vvc/thread.c +++ b/libavcodec/vvc/thread.c @@ -385,14 +385,15 @@ static int task_priority_higher(const AVTask *_a, const AVTask *_b) const VVCTask *a = (const VVCTask*)_a; const VVCTask *b = (const VVCTask*)_b; - CHECK(a->fc->decode_order, b->fc->decode_order); //decode order - if (a->stage == VVC_TASK_STAGE_PARSE || b->stage == VVC_TASK_STAGE_PARSE) { + if (a->stage <= VVC_TASK_STAGE_PARSE || b->stage <= VVC_TASK_STAGE_PARSE) { CHECK(a->stage, b->stage); + CHECK(a->fc->decode_order, b->fc->decode_order); //decode order CHECK(a->ry, b->ry); return a->rx < b->rx; } + CHECK(a->fc->decode_order, b->fc->decode_order); //decode order CHECK(a->rx + a->ry + a->stage, b->rx + b->ry + b->stage); //zigzag with type CHECK(a->rx + a->ry, b->rx + b->ry); //zigzag return a->ry < b->ry; _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".