Commit Graph

90 Commits

Author SHA1 Message Date
James Zern
a4b47b89fd x86inc.asm: only set visibility for chromium builds
this restores the previous version's behavior avoiding issues with
builds that may split sources on directory boundaries; protected
visibility may work in this case.

Change-Id: Ie759bd96c9ea5b45613f450dffa6e67eb45f5a8b
2016-02-17 18:45:40 -08:00
Johann
a97c83f7a4 Only use .text sections for aout
Also do not specify alignment.

Change-Id: I92d07dcce632ff9380c5dce18f88597414ab60c7
2016-02-17 18:45:40 -08:00
Johann
9679be4bc0 Use .text instead of .rodata on macho
The read only sections are getting stripped on some OS X builds. As a
result, random data is used in place of the intended tables.

Change-Id: I4629c90d9e0ae4d4efc193a93be6fb93809ae895
2016-02-17 18:45:40 -08:00
Johann
7e065cd573 Copy PIC handling code from x86_abi_support
Change-Id: Ia05fe78d2bd29b6aebaf6605719fe8a32528f25c
2016-02-17 18:45:21 -08:00
Johann
71ccd103bd Set 'private_extern' visibility for macho targets
Do not set it when building with 'nasm'

Change-Id: Iff2acf22543f5899f6eefa7624821cc6270a0923
2016-02-17 18:08:13 -08:00
Johann
1be46ef6b5 Expand PIC default to macho64 and respect CONFIG_PIC from libvpx
Change-Id: I8df65c6e52141183344ee91a7f94e8f4d5687e2f
2016-02-17 17:56:29 -08:00
Johann
4de9641f1a Use libvpx defines to set name mangling rules
Change-Id: Ie5dbfe73bdb6132047f9ab7d5716714d50befea5
2016-02-17 17:55:18 -08:00
Johann
2d6393a98d Customize x86inc.asm for libvpx
Use settings from vpx_config.asm

Prefix functions with vpx.

Change-Id: I71b4a89eaecf51fa56a07d9927081d50798a9042
2016-02-17 17:42:07 -08:00
Johann
2497356d06 Update x86inc.asm from x264
Revision d23d18655249944c1ca894b451e2c82c7a584c62
from https://git.videolan.org/x264.git

Change-Id: I841ec8c5ea71935aa364657299c6bba0c8742fc1
2016-02-17 17:41:21 -08:00
Yunqing Wang
cd08120d62 Minor cleanup
Removed unused GET_GOT_SAVE_ARG.

Change-Id: I0ae41c2d0dcd6d7d1c8dda05062fcdb737fd917d
2015-12-10 15:28:07 -08:00
Yunqing Wang
322ea7ff5b Fix the win32 crash when GET_GOT is not defined
This patch continues to fix the win32 crash issue:
https://bugs.chromium.org/p/webm/issues/detail?id=1105

Johann's patch is here:
https://chromium-review.googlesource.com/#/c/316446/2

Change-Id: I7fe191c717e40df8602e229371321efb0d689375
2015-12-10 14:25:01 -08:00
James Zern
9759c3d542 third_party/libwebm: pull from upstream.
Upstream hash: 476366249e1fda7710a389cd41c57db42305e0d4

Changes from upstream since last update:
4763662 mkvparser: fix type warnings
267f71c mkvparser: SafeArrayAlloc fix type warning
f1a99d5 mkvparser: s/LONG_LONG_MAX/LLONG_MAX/ for compatibility
bff1aa5 mkvparser: add msvc compatibility for isnan/isinf

Change-Id: Ie0375e564fc74b3b296744d0039830d2f77b83b6
2015-09-11 19:02:24 -07:00
Vignesh Venkatasubramanian
dd5510750a third_party/libwebm: pull from upstream.
Upstream hash: a58c32339e06e5d672a58cdd5844cea0a661e735

Changes from upstream since last update:
a58c323 mkvmuxer: Add codec id constant for VP10.
714f3c4 mkvparser: validate results in EBMLHeader::Parse.
cec98d4 mkvparser: Correct the ReadID implementation.
eb36ae4 Merge changes I029a268e,Ia272b150,I5c4d1bbc,Ia47a2478,I3a2e2226
229f493 Merge "mkvparser: Segment::AppendCluster asserts to error checks."
287faf9 Merge "mkvparser: Segment::DoLoadClusterUnknownSize asserts to error checks."
1a87b59 Merge "mkvparser: Segment assert clean up."
d26ec69 mkvparser: Cluster::Parse clean up.
f2029be mkvparser: Disallow EBML IDs equal to 0.
19f5694 mkvparser: Cluster::Load clean up.
27a07c1 mkvparser: Segment::Load asserts to error checks.
d0313dd mkvparser: Segment::PreloadCluster asserts to error checks.
b108695 mkvparser: Segment::AppendCluster asserts to error checks.
4630f80 mkvparser: Segment::DoLoadClusterUnknownSize asserts to error checks.
841a9b5 mkvparser: Segment assert clean up.
8c4ca2e Merge "mkvparser: Make mkvparser namespace usage uniform."
49ae6f0 Merge "mkvparser: Fix include order."
0735bb5 mkvparser: Make mkvparser namespace usage uniform.
93b24c4 mkvparser: Fix include order.
a57d660 sample_muxer: fix Segment memory leak on error
1c5bd94 mkvparser: Cues, change asserts to error checks.
7f77201 Merge "mkvparser: Add ReadID."
795fd56 mkvparser: set kMaxAllocSize explicitly
23bb18b mkvparser: Add ReadID.
7b57e37 mkvparser: add SafeArrayAlloc.
83a1f68 mkvparser: Remove buf_t typedef.
5074714 Merge changes Ia1265a63,I799d54df,Icfc582e4,I3425f608
b181105 Merge changes Ie4318152,I1e65f30f
06b4337 Block::Parse: replace pos asserts w/checks
b366a98 Cluster::ParseBlockGroup: replace pos asserts w/checks
2857b23 Tags::*::Parse: replace pos asserts w/checks
f1b2cfa Chapters::*::Parse: replace pos asserts w/checks
ca80629 Merge "mkvparser: Cues::PreloadCuePoint now returns bool."
6b4b297 Block::Parse: use int64 to aggregate laced frame sizes
c0d2c98 UnserializeFloat: check result for Inf/NaN
1a6dc4f mkvparser: Cues::PreloadCuePoint now returns bool.
275ac22 mkvparser: Cluster::Create clean up.
064f2ee Segment::PreloadCluster(): return a bool status
3778408 Segment::AppendCluster(): return a bool status
e86d046 mkvparser: check Cluster::Create() return
f9885b5 mkvparser: check allocations
21ee398 mkvparser: Segment::Load fail w/missing info/tracks
08fb654 Merge changes I264e68b2,Ife6190a4,Ibf37245f,I06efadb5,I88b5dfec, ...
c896095 mkvparser/Cluster: convert asserts to failure returns
680b4bf mkvparser/Tracks: convert asserts to failure returns
5889e6c mkvparser/Track: convert asserts to failure returns
5135c4c mkvparser/ContentEncoding: convert asserts to failure returns
b0e4f32 mkvparser/Cues: convert asserts to failure returns
13ccc7f mkvparser/UnserializeInt: fix sign flip
db3f9bb mkvparser/SeekHead: convert asserts to failure returns
8de3654 mkvparser/Segment: convert asserts to failure returns
fa2aa7d SeekHead::Parse(): fix assertion failure
d9bdade sample{,_muxer}: check SegmentInfo::GetInfo() return
07a9cf7 Merge "mkvparser: Remove some asserts."
c56ee29 mkvparser: Remove some asserts.
d901324 Merge "mkvparser: Remove some asserts from SegmentInfo::Parse."
7f7d898 Fix case sensitivity issue in iosbuild.sh.
42fe2cd mkvparser: Remove some asserts from SegmentInfo::Parse.
8bccd9c Merge "mkvparser: avoid rollover in UnserializeInt()."
7a2fa0d mkvparser: avoid rollover in UnserializeInt().
44f5ce6 mkvparser: Disallow durations in seconds greater than LONG_LONG_MAX.
b521e30 Merge "mkvparser: Segment::ParseHeaders() avoid rollover and bad int sizes."
7680e2a mkvparser: Check for errors in Match().
39a315f mkvparser: Segment::ParseHeaders() avoid rollover and bad int sizes.
f250ace mkvparser: Handle invalid lengths and rollover in ParseElementHeader().
cd96a76 mkvparser: Avoid rollover/truncation in UnserializeString().
8e8b3db Merge "mkvparser: Add error checking in Block::Parse."
82b7e5f sample: correct mbstowcs() error check
04d7809 sample: check allocation return
986b64b mkvparser: Add error checking in Block::Parse.

Change-Id: I39beef84962d6341f8ce53be06807b3e2068f777
2015-09-10 12:47:21 -07:00
KO Myung-Hun
6b56405f5e x86inc.asm: fix NASM compilation
Change-Id: I1e7f3c32969dac7911921062b396750302878c2e
2015-09-02 19:04:13 +09:00
James Zern
7fa5223444 x86inc.asm: only set visibility for chromium builds
this restores the previous version's behavior avoiding issues with
builds that may split sources on directory boundaries; protected
visibility may work in this case.

Change-Id: If37c70d9bd81de85a8e112457b9819a5cac6129d
2015-08-19 16:26:48 -07:00
Yaowu Xu
3d1bb97b1b write correct codecID for vp10 webm file
Change-Id: Ifeb6073c4a687a73540a0f8aef0d834f4712c193
2015-08-14 12:54:59 -07:00
Johann
8634eaf87a Only use .text sections for aout
Also do not specify alignment.

Change-Id: Id4a62bfa0fc3bc56e25689b5de7796bd6e864457
2015-08-10 12:08:18 -07:00
Johann
41a0a0cb35 Use newer x86inc.asm
Rename updated version of x86inc.asm

Use "private_prefix" instead of "program_name" and make vpx the default
prefix.

Change-Id: I4883a99b2aee8e5dc9f2c16a2e6f4b5d6e4de458
2015-08-07 16:44:44 -07:00
Johann
c7e9e486b8 Use .text instead of .rodata on macho
The read only sections are getting stripped on some OS X builds. As a
result, random data is used in place of the intended tables.

Change-Id: I58c18a53e503f093ee268451698c5761e6c32540
2015-08-07 16:43:31 -07:00
Johann
e15b535791 Copy PIC handling code from x86_abi_support
Change-Id: Ifcd9493802f0c957d7a3b16ce641b989e166792f
2015-08-07 16:43:31 -07:00
Johann
e0ab364701 Set 'private_extern' visibility for macho targets
Don't set it when building with 'nasm'

Change-Id: I01c211090f6870e0d34011f867471249a5f54bb0
2015-08-07 16:43:31 -07:00
Johann
bfbba9c6b0 Avoid 'amdnop' when building with nasm
Other implementations of x86inc.asm have more comprehensive nasm
workarounds. This is the only thing that was changed for the previous
import to libvpx. See if we can still get away with it.

Change-Id: I3ef6fe9a4816461c89431a82b7e4a08b4b948d39
2015-08-07 16:43:31 -07:00
Johann
5d8f9f53d1 Catch all elf formats
Make sure all variants get correct visibility and SECTION notes.

libvpx only pass elf32 and elf64 to the assembler, never just elf.

Change-Id: I7c36c115bf52436c9afe61985c859a2081948271
2015-08-07 16:42:53 -07:00
Johann
89ba55ed1c Expand PIC default to macho64 and respect CONFIG_PIC from libvpx
Change-Id: Ic8c07cc02c80953920f5f86b426a55114ea2cc44
2015-08-07 16:22:08 -07:00
Johann
25a2434752 Use libvpx defines to set name mangling rules
Change-Id: I03986bf2b05032d8a29e5bd629f7f6703269ab13
2015-08-07 16:22:02 -07:00
Johann
35747296b0 Customize x86inc.asm for libvpx
Use settings from vpx_config.asm

Prefix functions with vpx.

Change-Id: I1091d9b063e9f5af0dce554bb636ee894c05dcf7
2015-08-07 16:20:33 -07:00
Johann
dfa42cf8b7 Update x86inc.asm from x264
Revision a95584945dd9ce3acc66c6cd8f6796bc4404d40d
from git://git.videolan.org/x264.git

Temporarily name file x86inc.asm until all necessary local patches are
applied.

Change-Id: I9c7d0ed4d3ed900ae2d5db0abbcc048a2892c9b8
2015-08-07 16:20:33 -07:00
James Zern
23591322cf third_party/libwebm: pull from upstream
Changes:
2dec094 mkvparser: normalize UnserializeInt signature

fixes a visual studio build warning

Change-Id: Ifb99c8a46957ee135f8a6a639f19f2515c7526c3
2015-08-05 12:52:40 -07:00
James Zern
c353da68aa third_party/libwebm: pull from upstream
Changes:
b6de61a Adds support for simple tags
75a6d2d sample_muxer: Don't write huge files.
cec1f85 mkvmuxer: remove unused timecode_scale variable
8a61b40 Merge "mkvparser: Tiny whitespace fix."
7affc5c clang-format re-run
d6d04ac mkvmuxer: use generic Cluster::AddFrame
4928b0b Merge "mkvmuxer: Write Block key frames correctly."
c2e4a46 Merge "sample_muxer: Use AddGenericFrame to add frames."
e97f296 mkvparser: Tiny whitespace fix.
d66ba44 Merge "Add support to parse DisplayUnit."
deb41c2 Add support to parse DisplayUnit.
42e5660 Fix issues on EBML lacing block parsing
fe1e9bb Fix block parsing to not allow frame_size = 0
2cb6a28 Change assertions to checks when parsing TrackPositions
d04580f Fixes issues on Block Group parsing
c3550fd mkvmuxer: Write Block key frames correctly.
5dd0e40 Merge "mkvmuxer: Set is_key to true for metadata blocks."
8e96863 mkvmuxer: Set is_key to true for metadata blocks.
a9e4819 sample_muxer: Use AddGenericFrame to add frames.
5a3be73 Change assertions to checks when load CuePoints
f99f3b2 mkvmuxerutil::EbmlDateElementSize: remove value param
ff572b5 Frame::IsValid: fix track_number check
b6311dc mkvmuxer: Refactor to remove a lot of duplicate code
256cd02 Merge "mkvmuxer: DiscardPadding should be signed integer."
16c8e78 mkvmuxer: s/frame/data in all AddFrame* functions.
c5e511c mkvmuxer: DiscardPadding should be signed integer.
4baaa2c Add framework build script: iosbuild.sh
3d06eb1 PATENTS: fix a typo: constitutes -> constitute
d3849c2 mkvparser: Dead code removal.
f439e52 Change assertions to checks when preloading Cues
d3a44cd Fix track transversal when listing Cues on sample
c6255af Tweak .gitignore so git status is clean after checkout and
build: - added missing underscore to sample_muxer - added cmake and make
related files
b5229c7 Makefile.unix: s/samplemuxer/sample_muxer/
e3616a6 Add support to parse stereo mode, display width and display
height in mkvparser
a4b68f8 parser: Fix bug in Chapters::Atom::Parse()
bab0a00 cmake: Set library and project name the proper way on Windows.
feeb9b1 Set library name to match Windows expectations.
b9a549b Fix CMakefile to generate libwebm.a
b386aa5 Add CMakeLists.txt and msvc_runtime.cmake.
b0f8a81 parser: Fix memory leak in Chapter parsing
f06e152 mkvmuxer: Fix MoveCuesBeforeClustersHelper recursive call.
27bb747 allow subtitle tracks with ContentEncodings
623d182 DoLoadCluster: tolerate empty clusters
1156da8 Update PATENTS to reflect s/VP8/WebM/g
0d4cb40 mkvmuxerutil: Use rand() in MSVC builds.
e12fff0 mkvmuxer: Overload WriteEbmlHeader for backward compatibility
a321704 mkvmuxer: write correct DocTypeVersion
574045e mkvmuxer: fix DiscardPadding
8be6397 Include crop elements when calculating size of Video element
8f2d1b3 mkvparser: fix DiscardPadding extraction
1c36c24 mkvmuxer: fix style guide violations
568504e Merge "UUIDs can have their high bit set"
acf788b Add support for CropLeft, CropRight, CropTop and CropBottom
elements.
418188b Merge "muxer: codec_id is a mandatory element"
07688c9 mkvmuxer: Reject frames if invalid track number is passed.
2a63e47 muxer: codec_id is a mandatory element
d13c017 UUIDs can have their high bit set

Change-Id: Iba28acb1ff774349d03e565f2641ddea132cf1e7
2015-08-03 20:29:47 -07:00
James Zern
fcb4253c9c update libyuv to r1456
picks up build warning fixes for visual studio 2015

Change-Id: Idea85fa70d1aeb2a46ea355b87fe41ec5b2b9520
2015-07-31 18:34:20 -07:00
Johann
b09ac154af Allow specifying a different prefix in x86inc.asm
Currently the prefix is forced to vp9 for any function using
x86inc.asm.

Change-Id: Icbca57ce68a52e743bdd7e9be86cfe8353f274c1
2015-04-15 09:42:48 -04:00
Johann
bdb46b2957 Cherry pick libyuv VS fix
Change-Id: I1f2e077af87d29b07eaf7acaec8d955e00da9333
2015-03-06 13:00:01 -08:00
Johann
223bf29307 libyuv: update to r1305
MIPS build fixes

https://code.google.com/p/webm/issues/detail?id=957

Change-Id: I9d53900af36d783c369b5dff27a7479cb94fd16b
2015-03-02 15:19:31 -08:00
Yunqing Wang
10d5e09c87 Fix issues in 32bit PIC enabled build
This patch was to fix issue 924:
https://code.google.com/p/webm/issues/detail?id=924

The SECTION_RODATA macro was modified to support macho32 format.
The sub-pixel functions were modified to pass in 2 more parameters
to handle the global offsets for PIC build.

Change-Id: I3bfcd336bcae945edf300bca4ab40376a2628cd4
2015-01-27 22:20:21 -08:00
John Stark
71379b87df Changes to assembler for NASM on mac.
fixes non-Apple nasm part of issue #755

Change-Id: I11955d270c4ee55e3c00e99f568de01b95e7ea9a
2014-11-24 12:00:50 -08:00
James Zern
fcd431fdc7 libyuv: cherry-pick MSVC arm build fix
Issue 24479004: Fix building with MSVC for arm
https://webrtc-codereview.appspot.com/24479004/

Change-Id: I758b33a21f46e46af6e58d83b7c045262ac9c7d9
2014-09-06 10:39:49 -07:00
James Zern
2f5e0faefd add libyuv/scale_neon64.cc
from r1051, missed in r1060 snapshot update

Change-Id: I3756d8d29fc0dd4c4491efa84b8f8837edde23a7
2014-08-22 18:16:44 -07:00
James Zern
b644eb9f44 libyuv: update to r1060
picks up some lint, build fixes

Change-Id: I0efb19385afa4ea3073a53e2b8334e57f245eea0
2014-08-22 10:31:01 -07:00
Jim Bankoski
2784a8fd24 Merge "Update PATENTS to reflect s/VP8/WebM/g" 2014-08-13 08:11:22 -07:00
James Zern
3a7d467da9 libyuv: update to r1041
Change-Id: I38dad398844ee424a7a92a745ab703645018d02b
2014-08-12 22:54:05 -07:00
Lou Quillio
bb214efcb9 Update PATENTS to reflect s/VP8/WebM/g
Sync with http://www.webmproject.org/license/additional/

modified:   PATENTS
modified:   third_party/libwebm/PATENTS.TXT

Change-Id: I97fc588589654c83c6cb7e2e2b909f23a370db8a
2014-08-11 15:06:58 -07:00
Frank Galligan
173a5c159a Remove third_party/libmkv
The dependency on the libmkv code has been removed from Chrome.
See:https://code.google.com/p/chromium/issues/detail?id=387738

Change-Id: I42887864f0c478bb065f7687b4c09f1b2f4c97c2
2014-07-31 08:50:44 -07:00
KO Myung-Hun
7ddb5f5992 x86inc: fix compilation with NASM
Change-Id: I5978921ab1ccad6648a5bde6ad023c3e3430f5f4
2014-07-24 13:02:34 +09:00
Frank Galligan
382739a1ca Add back libmkv ebml writer files.
Another project in ChromeOS is using these files. To make libvpx
rolls simpler, add these files back unitl the other project removes
the dependency.

crbug.com/387246 tracking bug to remove dependency.

Change-Id: If9c197081c845c4a4e5c5488d4e0190380bcb1e4
2014-06-20 15:00:08 -07:00
Christian Duvivier
8db1f7ad0c Fix unused variable warning.
Change-Id: I52f73943194039697da6880d2da54821b2498336
2014-05-30 10:27:44 -07:00
Dmitry Kovalev
0907cb6b4c Removing unused third-party libraries.
We use libwebm instead of libmkv and nestegg.

Change-Id: I339eae081061c2e3eb8b234f14ae1bc846f85011
2014-05-22 12:46:22 -07:00
Deb Mukherjee
47031c0a54 Updates libyuv to version 1005
Also adds compile check and a libyuv configure flag

Change-Id: Ib9f0f4a71c4083e6f0aea7b5a5d175531ef0f66b
2014-05-20 17:19:57 -07:00
Jingning Han
4e4e7fa912 Make x86inc support local variable array
This commit modifies the x86inc to allow explicit local buffer
allocation and the corresponding stack pointer adjustment.

Change-Id: I3cb2174e0242b5869a4ba0ca0cd240ee066836c3
2014-05-19 15:14:45 -07:00
Vignesh Venkatasubramanian
c3378771b3 third_party/libwebm: pull from upstream
Pulling libwebm from upstream

Changes from upstream:
249629d make Mkv(Reader|Writer)(FILE*) explicit
7f3cda4 mkvparser: fix a bunch of windows warnings
5c06178 Merge "clang-format on mkvparser.[ch]pp"
4df111e clang-format on mkvparser.[ch]pp
7b24501 clang-format re-run.
c6767b9 Change AlignTrailingComments to false in .clang-format
9097a06 Merge "muxer: Reject file if TrackType is never specified"
eddf974 Merge "clang-format on mkvmuxertypes.hpp and webmids.hpp"
def325c muxer: Reject file if TrackType is never specified
41f869c Merge "clang-format on webvttparser.(cc|h)"
fd0be37 clang-format on webvttparser.(cc|h)
207d8a1 Merge "clang-format on mkvmuxerutil.[ch]pp"
02429eb Merge "clang-format on mkvwriter.[ch]pp"
0cf7b1b Merge "clang-format on mkvreader.[ch]pp"
2e80fed Merge "clang-format on sample.cpp"
3402e12 Merge "clang-format on sample_muxer.cpp"
1a685db Merge "clang-format on sample_muxer_metadata.(cc|h)"
6634c7f Merge "clang-format on vttreader.cc"
7566004 Merge "clang-format on vttdemux.cc"
9915b84 clang-format on mkvreader.[ch]pp
7437254 clang-format on mkvmuxertypes.hpp and webmids.hpp
0d5a98c clang-format on sample_muxer.cpp
e3485c9 clang-format on vttdemux.cc
46cc823 clang-format on dumpvtt.cc
5218bd2 clang-format on vttreader.cc
1a0130d clang-format on sample_muxer_metadata.(cc|h)
867f189 clang-format on sample.cpp
4c7bec5 clang-format on mkvwriter.[ch]pp
9ead078 clang-format on mkvmuxerutil.[ch]pp
fb6b6e6 clang-format on mkvmuxer.[ch]pp
ce77592 Update .clang-format to allow short functions in one line
0a24fe4 Merge "Add support for DateUTC and DefaultDuration in MKV Muxer."
11d5b66 Merge "Add .clang-format"
a1a3b14 Add .clang-format
0fcec38 Add support for DateUTC and DefaultDuration in MKV Muxer.

Change-Id: Ia0ed161ffc3d63c2eba8ed145707ffe543617976
2014-05-05 14:03:06 -07:00
Vignesh Venkatasubramanian
56186c2540 Merge "third_party/libwebm: Add Android.mk" 2014-05-02 11:39:29 -07:00