Bug 603113

Summary: import libvpx for WebM support
Product: Red Hat Enterprise Linux 6 Reporter: Benjamin Otte <otte>
Component: distributionAssignee: RHEL Program Management <pm-rhel>
Status: CLOSED CURRENTRELEASE QA Contact: Ben Levenson <benl>
Severity: medium Docs Contact:
Priority: low    
Version: 6.0CC: atodorov, borgan, caillon, jan.kratochvil, mclasen, sghosh, snagar, syeghiay
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: libvpx-0.9.0-7.el6 Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-11-10 20:16:56 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 605271    
Bug Blocks: 603100, 603110    
Attachments:
Description Flags
gas libvpx-0.9.0-6.fc14 (=F-13) - with removed BuildRequires: yasm
none
Comparison patch. none

Description Benjamin Otte 2010-06-11 14:54:25 UTC
To add support for WebM, GStreamer needs libvpx packages imported from Fedora.

Comment 4 Jan Kratochvil 2010-06-20 21:06:06 UTC
Created attachment 425485 [details]
gas libvpx-0.9.0-6.fc14 (=F-13) - with removed BuildRequires: yasm

Comment 5 Jan Kratochvil 2010-06-20 21:08:43 UTC
Created attachment 425486 [details]
Comparison patch.

libvpx-0.9.0-6.fc14 adjusted to binary-match (tested only asm .o files) for verification of the gas variant.  This patch still builds libvpx by yasm.

vp8/decoder/x86/dequantize_mmx.asm
        pinsrw      mm0,    rcx,  0
- 20b:  48 0f c4 c1 00          pinsrw $0x0,%rcx,%mm0
+ 20b:  0f c4 c1 00             pinsrw $0x0,%ecx,%mm0

vp8/encoder/x86/sad_ssse3.asm
        mov             rax,  vp8_sad16x16x3_ssse3_jumptable - vp8_sad16x16x3_ssse3_do_jump
-      67:      48 b8 bb ff ff ff ff    movabs $0xffffffffffffffbb,%rax
-      6e:      ff ff ff
+      67:      48 c7 c0 bb ff ff ff    mov    $0xffffffffffffffbb,%rax
        mov             rax,  vp8_sad16x8x3_ssse3_jumptable - vp8_sad16x8x3_ssse3_do_jump

for i in `find -name "*.S"`;do strip -x $i.o;objdump -dr $i.o >2;objdump -dr ../libvpx-0.9.0-bc/`echo $i|sed 's/\.S$/.asm/'`.o >1;echo $i;diff -u 1 2;done|vi -

Comment 7 Jan Kratochvil 2010-06-21 21:00:55 UTC
BTW upstream has 0.9.1 (+newer GIT); Fedora Rawhide still contains 0.9.0.

One should check the upstream patches:
 * There is a stack non-executability implementation - it may affect SELinux.
 * There are various backend fixes which may not be immediately visible
   as the developer's machine chooses a different backend.

QA: All the supported optimized backends (MMX/SSE2/SSSE3/etc.) should be probably tested.

Post upstream (had to use Midori/webkit, it is Firefox/Gecko-incompatible):
http://groups.google.com/a/webmproject.org/group/codec-devel/browse_thread/thread/fb9c3945f26da209

Comment 8 Benjamin Otte 2010-06-30 15:59:32 UTC
The package was imported into CVS and successfully built.

Comment 12 releng-rhel@redhat.com 2010-11-10 20:16:56 UTC
Red Hat Enterprise Linux 6.0 is now available and should resolve
the problem described in this bug report. This report is therefore being closed
with a resolution of CURRENTRELEASE. You may reopen this bug report if the
solution does not work for you.