Closed Bug 1331498 Opened 8 years ago Closed 8 years ago

Update libvpx to 1.6.1

Categories

(Core :: WebRTC: Audio/Video, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla53
Tracking Status
firefox53 --- fixed

People

(Reporter: RyanVM, Assigned: johannkoenig)

References

()

Details

Attachments

(1 file, 2 obsolete files)

+++ This bug was initially created as a clone of Bug #1223692 +++ https://groups.google.com/a/webmproject.org/d/msg/codec-devel/Vt6c2Z96cWI/aTYeP5y6BwAJ https://chromium.googlesource.com/webm/libvpx/+/v1.6.1 2017-01-09 v1.6.1 "Long Tailed Duck" This release improves upon the VP9 encoder and speeds up the encoding and decoding processes. - Upgrading: This release is ABI compatible with 1.6.0. - Enhancements: Faster VP9 encoding and decoding. High bit depth builds now provide similar speed for 8 bit encode and decode for x86 targets. Other platforms and higher bit depth improvements are in progress. - Bug Fixes: A variety of fuzzing issues.
Assignee: nobody → johannkoenig
I've run into a bit of an issue. Upstream created a "header" file for the neon assembly for some common macros. Unfortunately it still needs to be run through ads2gas.pl I see two ways to fix this: 1) pre-run it through ads2gas.pl because FF only supports *nix builds so I don't need to care about whether to use ads2gas.pl or ads2gas_apple.pl 2) Add the generated assembly directory to ASFLAGS with -I but I don't know what variable to use for that directory. The file in question is obj-arm-linux-androideabi/media/libvpx/libvpx/vpx_dsp/arm/idct_neon.asm.S and is include with the full path, so I need something like ASFLAGS += -Iobj-arm-linux-androideabi/media/libvpx/libvpx/ Preference for either approach? Suggested moz.build variable for the include path?
I think running the generator sounds safer. You can add paths to the build with the `LOCAL_INCLUDES` variable (a list) in moz.build. You can use `OBJDIR` to reference the target directory for generated files. https://gecko.readthedocs.io/en/latest/build/buildsystem/mozbuild-symbols.html#objdir
Attached file 0001-Bug-1331498-Update-libvpx-to-v1.6.1.patch.bz2 (obsolete) (deleted) —
Apologies for the bz2. The patch went over the 10mb limit. (In reply to Ralph Giles (:rillian) | needinfo me from comment #2) > You can add paths to the build with the `LOCAL_INCLUDES` variable (a list) Does that include ASFLAGS? It didn't appear to from the documentation. If it does (or even just for CFLAGS) there are a number of places in media/libvpx/moz.build that should probably use it. Unfortunately I don't really have a good setup for experimenting and testing different build rules. > in moz.build. You can use `OBJDIR` to reference the target directory for Thanks. I was able to use OBJDIR
Attachment #8827535 - Flags: review?(giles)
(In reply to johannkoenig from comment #3) > > You can add paths to the build with the `LOCAL_INCLUDES` variable (a list) > > Does that include ASFLAGS? Looks like it gets appended after ASFLAGS. Of course you can use ASFLAGS if you you want the include to be specific to the assembler. https://dxr.mozilla.org/mozilla-central/source/config/rules.mk#983 > Thanks. I was able to use OBJDIR Great.
Comment on attachment 8827535 [details] 0001-Bug-1331498-Update-libvpx-to-v1.6.1.patch.bz2 Moving to reviewboard.
Attachment #8827535 - Attachment is obsolete: true
Attachment #8827535 - Flags: review?(giles)
Comment on attachment 8827599 [details] Bug 1331498: Update libvpx to v1.6.1. https://reviewboard.mozilla.org/r/105228/#review106044 ::: media/libvpx/rename_duplicate_files.patch:4 (Diff revision 1) > diff --git a/libvpx/vpx_dsp/x86/loopfilter_sse2.c b/libvpx/vpx_dsp/x86/loopfilter_intrin_sse2.c > similarity index 100% > rename from libvpx/vpx_dsp/x86/loopfilter_sse2.c > rename to libvpx/vpx_dsp/x86/loopfilter_intrin_sse2.c When I applied your 1.6.0 patch this worked, but today when I try running update.py on my mac with this patch, this rename doesn't happen, and this part of the diff ends up reverted. I guess Apple's `patch` doesn't implement the rename syntax. Not sure how best to address this: vcs moves are good, but it's bad that the script doesn't work on Mac. Maybe the best thing is to replace this section of the patch with an explicit `os.system('mv ..')` in update.py? ::: media/libvpx/update.py:49 (Diff revision 1) > def update_readme(commit): > with open('README_MOZILLA') as f: > readme = f.read() > > if 'The git commit ID used was' in readme: > new_readme = re.sub('The git commit ID used was [a-f0-9]+', Sorry, I didn't catch this in the previous commit, but the regex no longer works now that we have release tags we can update against. (This is a good thing!) Can you change this and re-run the update so README_MOZILLA gets updated properly? Just `[v\.a-f0-9]+` would be sufficient for the release tags along with commit hashes. Or a general 'any string without whitespace' is probably fine too.
Attachment #8827599 - Flags: review?(giles)
Comment on attachment 8827599 [details] Bug 1331498: Update libvpx to v1.6.1. https://reviewboard.mozilla.org/r/105228/#review106052 Looks good in general but needs a few fixes. Please address issues and update the patch. ::: media/libvpx/moz.build:50 (Diff revision 1) > arm_asm_files = files['ARM_SOURCES'] > > if CONFIG['VPX_AS_CONVERSION']: > SOURCES += sorted([ > - "!%s.s" % f if f.endswith('.asm') else f for f in arm_asm_files > + "!%s.S" % f if f.endswith('.asm') else f for f in arm_asm_files > ]) This seems to be failing in the arm builds. Maybe looking in the source instead of the build directory for the translated file? ``` /usr/bin/perl /builds/slave/try-and-api-15-000000000000000/build/src/media/libvpx/libvpx/build/make/ads2gas.pl < /builds/slave/try-and-api-15-000000000000000/build/src/media/libvpx/libvpx/vpx_dsp/arm/idct16x16_1_add_neon.asm > libvpx/vpx_dsp/arm/idct16x16_1_add_neon.asm.S /bin/sh: libvpx/vpx_dsp/arm/idct16x16_1_add_neon.asm.S: No such file or directory gmake[5]: *** [libvpx/vpx_dsp/arm/idct16x16_1_add_neon.asm.S] Error 1 ```
(In reply to Ralph Giles (:rillian) | needinfo me from comment #7) > > rename from libvpx/vpx_dsp/x86/loopfilter_sse2.c > > rename to libvpx/vpx_dsp/x86/loopfilter_intrin_sse2.c > > I guess Apple's `patch` doesn't implement the rename syntax. Switched to os.system("mv ...") > Sorry, I didn't catch this in the previous commit, but the regex no longer > works now that we have release tags we can update against. (This is a good > thing!) Huh, I guess I updated it manually. Fixed. (In reply to Ralph Giles (:rillian) | needinfo me from comment #8) > This seems to be failing in the arm builds. Maybe looking in the source in media/libvpx/Makefile.in: GENERATED_DIRS += $(dir $(ASFILES)) .S files are not added to ASFILES. This doesn't appear to affect the build in any other way. Forced the directory creation with: GENERATED_DIRS += libvpx/vpx_dsp/arm
Attached file 0001-Bug-1331498-Update-libvpx-to-v1.6.1.patch.bz2 (obsolete) (deleted) —
Attachment #8827599 - Attachment is obsolete: true
Attachment #8827616 - Flags: review?(giles)
Comment on attachment 8827616 [details] 0001-Bug-1331498-Update-libvpx-to-v1.6.1.patch.bz2 Pushed to reviewboard.
Attachment #8827616 - Attachment is obsolete: true
Attachment #8827616 - Flags: review?(giles)
Comment on attachment 8827599 [details] Bug 1331498: Update libvpx to v1.6.1. https://reviewboard.mozilla.org/r/105228/#review106082 lgtm. r+ assuming the android try push is green.
Attachment #8827599 - Flags: review?(giles) → review+
Comment on attachment 8827599 [details] Bug 1331498: Update libvpx to v1.6.1. https://reviewboard.mozilla.org/r/105228/#review106052 > This seems to be failing in the arm builds. Maybe looking in the source instead of the build directory for the translated file? > ``` > /usr/bin/perl /builds/slave/try-and-api-15-000000000000000/build/src/media/libvpx/libvpx/build/make/ads2gas.pl < /builds/slave/try-and-api-15-000000000000000/build/src/media/libvpx/libvpx/vpx_dsp/arm/idct16x16_1_add_neon.asm > libvpx/vpx_dsp/arm/idct16x16_1_add_neon.asm.S > /bin/sh: libvpx/vpx_dsp/arm/idct16x16_1_add_neon.asm.S: No such file or directory > gmake[5]: *** [libvpx/vpx_dsp/arm/idct16x16_1_add_neon.asm.S] Error 1 > ``` This is fixed with the `GENERATED_DIRS` change.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
Depends on: 1337250
Depends on: 1344889
Depends on: 1433158
Blocks: 1433650
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: