Bug 1429460

Summary: Add "BR: yasm" to increase speed
Product: [Fedora] Fedora Reporter: barsnick
Component: libassAssignee: Martin Sourada <martin.sourada>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 27CC: martin.sourada, rockonaile
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: All   
Whiteboard:
Fixed In Version: libass-0.13.4-6.fc28 libass-0.13.4-6.fc27 libass-0.13.4-6.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-06-16 20:17:06 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description barsnick 2017-03-06 12:27:02 UTC
Description of problem:
libass's build should add "BuildRequires: yasm" to support assembly instructions to speed up processing on x86 and x86_64.

Version-Release number of selected component (if applicable):
0.13.4-2

How reproducible:

Steps to Reproduce:
1. rpmbuild -ba libass.spec

Actual results:
checking for yasm... no
configure: WARNING: yasm was not found; ASM functions are disabled.
configure: WARNING: Install yasm for a significantly faster libass build.
(See: https://kojipkgs.fedoraproject.org/packages/libass/0.13.4/2.fc26/data/logs/x86_64/build.log)

Expected results:
checking for yasm... yes

Additional info:
I haven't tested this, this is by pure inspection of the Changelog and build logs. It looks like the binary's assembly code paths are used conditionally on hardware which supports it, according to libass/ass_utils.c, so this change to use yasm should be valid for all supported x86{,_64} hardware.

Comment 1 Martin Sourada 2017-05-08 20:05:38 UTC
Thanks for the bug. I'll test if there's any notable difference and if so, apply it with next release.

Comment 2 Jan Kurik 2017-08-15 06:24:47 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 27 development cycle.
Changing version to '27'.

Comment 3 barsnick 2017-09-22 08:41:54 UTC
Ping.

This BuildRequires should probably also be guarded per architecture:

%ifarch %ix86 x86_64
BuildRequires: yasm >= 1.2.0
%endif

I can try to see whether I can benchmark this with ffmpeg's "ass" filter (which uses the library to render an ASS file as an overlay).

Comment 4 Fedora Update System 2018-06-14 07:56:23 UTC
libass-0.13.4-6.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-847d3c12fd

Comment 5 Fedora Update System 2018-06-14 07:56:36 UTC
libass-0.13.4-6.fc27 has been submitted as an update to Fedora 27. https://bodhi.fedoraproject.org/updates/FEDORA-2018-7c7ecb44ec

Comment 6 Fedora Update System 2018-06-14 07:56:45 UTC
libass-0.13.4-6.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-e8edde23a0

Comment 7 Fedora Update System 2018-06-14 18:23:13 UTC
libass-0.13.4-6.fc27 has been pushed to the Fedora 27 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-7c7ecb44ec

Comment 8 Fedora Update System 2018-06-14 18:50:08 UTC
libass-0.13.4-6.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2018-e8edde23a0

Comment 9 Fedora Update System 2018-06-14 20:24:17 UTC
libass-0.13.4-6.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-847d3c12fd

Comment 10 結城イヴ 2018-06-15 23:12:45 UTC
Note that libass now uses nasm over yasm as of commit 0ce4c19, so when libass is eventually updated fully (in a future Fedora release I would guess, since there was an ABI change and thus all dependent packages would need to be rebuilt) instead of cherrypicking commits, this will have to change again.

Relevant commit: https://github.com/libass/libass/commit/0ce4c19a5f273fa8200cd84a578a618634a5d507

Comment 11 Fedora Update System 2018-06-16 20:17:06 UTC
libass-0.13.4-6.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report.

Comment 12 barsnick 2018-06-17 13:52:42 UTC
(In reply to 結城イヴ from comment #10)
> Note that libass now uses nasm over yasm as of commit 0ce4c19, so when
> libass is eventually updated fully (in a future Fedora release I would
> guess, since there was an ABI change and thus all dependent packages would
> need to be rebuilt) instead of cherrypicking commits, this will have to
> change again.

0.14 is "already" in Rawhide, and has been updated to use nasm:
https://src.fedoraproject.org/rpms/libass/c/d662d928234f049c89538ff4fe91067214fbf398?branch=master

Comment 13 Fedora Update System 2018-06-23 19:55:19 UTC
libass-0.13.4-6.fc27 has been pushed to the Fedora 27 stable repository. If problems still persist, please make note of it in this bug report.

Comment 14 Fedora Update System 2018-07-01 01:07:20 UTC
libass-0.13.4-6.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.