]> granicus.if.org Git - libvpx/log
libvpx
12 years agoPass B_PREDICTION_MODE to intra4x4_predict
Johann [Thu, 2 Aug 2012 21:26:04 +0000 (14:26 -0700)]
Pass B_PREDICTION_MODE to intra4x4_predict

Use the correct type when calling and inside the function.

Change-Id: Idbaf1bf58b9574f0cba73d78780e9aedd8889dfd

12 years agoMatch declaration to definition
Johann [Thu, 2 Aug 2012 21:05:01 +0000 (14:05 -0700)]
Match declaration to definition

Change-Id: Ic6a0c42b195d6aee0e981331c994b6007dfdc6be

12 years agoRename vp8_intra4x4_predict_d
Johann [Wed, 1 Aug 2012 18:17:57 +0000 (11:17 -0700)]
Rename vp8_intra4x4_predict_d

predict_d has become canonical. Remove previous helper function.

Disable ARM assembly pending update.

Change-Id: Idd84ac8a28f9b0221ea97904a77de1e705d06a7d

12 years agoUse intra4x4_predict_d parameter names
Johann [Wed, 1 Aug 2012 18:01:46 +0000 (11:01 -0700)]
Use intra4x4_predict_d parameter names

Rename the local variables for consistency.

Change-Id: Ic202ff54551332f706d97da9b67b2e0959ee7f61

12 years agoChange vp8_intra4x4_predict call sites
Johann [Tue, 31 Jul 2012 21:21:55 +0000 (14:21 -0700)]
Change vp8_intra4x4_predict call sites

Use the _d variant from the decoder. It moves the pointer calculations
to the caller.

Change-Id: Iae2a793433ef082980a3ffa0a1cabf0264a6a24d

12 years agouse RTCD pointer for intra4x4_predict
Johann [Tue, 31 Jul 2012 21:12:32 +0000 (14:12 -0700)]
use RTCD pointer for intra4x4_predict

Change-Id: I4161389ff02aa37636540ac0fe0fe9763d52ebdc

12 years agoMerge "Be consistent with SAD values"
Johann [Tue, 31 Jul 2012 17:21:57 +0000 (10:21 -0700)]
Merge "Be consistent with SAD values"

12 years agoMerge "Avoid warnings about redefining _FORTIFY_SOURCE"
Attila Nagy [Tue, 31 Jul 2012 06:45:54 +0000 (23:45 -0700)]
Merge "Avoid warnings about redefining _FORTIFY_SOURCE"

12 years agoMerge "Remove the resetting of qp params for temporal layers."
Jim Bankoski [Sat, 28 Jul 2012 04:22:15 +0000 (21:22 -0700)]
Merge "Remove the resetting of qp params for temporal layers."

12 years agoRemove the resetting of qp params for temporal layers.
Marco Paniconi [Sat, 28 Jul 2012 00:24:29 +0000 (17:24 -0700)]
Remove the resetting of qp params for temporal layers.

The ambient qp and active worse/best qp were reset for every frame
when temporal layers is on. This change removes this reset.

As this affects the target size for forced key frames
(it will actually lower the size somewhat), we increased the
inital boost factor to compensate.

Change-Id: Ie38d95f5c99ab3d447469c49e2177bc3fcc4ad28

12 years agoBe consistent with SAD values
Johann [Tue, 26 Jun 2012 18:37:33 +0000 (11:37 -0700)]
Be consistent with SAD values

SAD returns unsigned values. Make all the declarations the same.

Remove bestsad initialization and check. It is always set to the
result of a SAD call so it will never remain UINT_MAX

Use ja instead of jg to test unsigned comparison instead of signed.

Update test.

Change-Id: I46336ab45f4e60fc37caf20bd36bc5782079c7a5

12 years agoMerge "SAD cosmetic cleanup"
Johann [Fri, 27 Jul 2012 23:05:12 +0000 (16:05 -0700)]
Merge "SAD cosmetic cleanup"

12 years agoAvoid warnings about redefining _FORTIFY_SOURCE
Attila Nagy [Fri, 27 Jul 2012 06:40:05 +0000 (09:40 +0300)]
Avoid warnings about redefining _FORTIFY_SOURCE

Undefine the macro befor redefining it.

Change-Id: I31187307273c138f8d5380c74f9e0619af15cdd9

12 years agoOptimizes updates of encoder block ptrs
Attila Nagy [Tue, 24 Apr 2012 12:17:28 +0000 (15:17 +0300)]
Optimizes updates of encoder block ptrs

Precalculated block ptrs do not need updates during encoding.
Set these at init stage.

Moved the allocation of 'mt_current_mb_col' (last encoded MB on each
row) to vp8_alloc_compressor_data(), so that it is correctly
reallocated when frame size is changing.

Change-Id: Idcdaa2d0cf3a7f782b7d888626b7cf22a4ffb5c1

12 years agoMerge "Add tests for SAD functions"
Johann [Fri, 27 Jul 2012 00:18:47 +0000 (17:18 -0700)]
Merge "Add tests for SAD functions"

12 years agoSAD cosmetic cleanup
Johann [Tue, 26 Jun 2012 17:06:08 +0000 (10:06 -0700)]
SAD cosmetic cleanup

Change-Id: Iae915f2988081697cca6b65943afaca1d8de8df3

12 years agoMerge "multi-res: add drop_frame support"
Yunqing Wang [Thu, 26 Jul 2012 15:59:12 +0000 (08:59 -0700)]
Merge "multi-res: add drop_frame support"

12 years agomulti-res: add drop_frame support
Yunqing Wang [Fri, 8 Jun 2012 15:17:50 +0000 (11:17 -0400)]
multi-res: add drop_frame support

Added drop_frame support in multi-resolution encoder.

If one frame is dropped at a lower-resolution level, the next
upper-resolution level encoder needs to encode that frame
independently without any lower-resolution level motion
information.

Another issue is that if one frame is dropped at some but not all
resolution levels, a frame after that one may use different set
of reference frames at different resolution levels. This reference
frame asynchronization could degrade motion search precision in
upper-resolution level encoding, which uses lower-resolution level
motion result. This change compares the lower-resolution and upper-
resolution level's reference frames. If they are not the same, the
upper-resolution level encoder can not use lower-resolution level
motion result.

Change-Id: I61afa4f313630e75b7cbdd5742e230e8724a988a

12 years agoAdd tests for SAD functions
Johann [Thu, 28 Jun 2012 18:43:58 +0000 (11:43 -0700)]
Add tests for SAD functions

Change-Id: I018335a08cbb1eca55896c21e36918ed45a4b2a8

12 years agoAdd comment for use of shift/mul instead of div.
Ronald S. Bultje [Tue, 24 Jul 2012 22:46:49 +0000 (15:46 -0700)]
Add comment for use of shift/mul instead of div.

Change-Id: Ia6a0090da2097ca9337f8179a6d7b6a09e12f2e6

12 years agoReplace x*155/100 by x*101581>>16.
Ronald S. Bultje [Tue, 24 Jul 2012 22:22:14 +0000 (15:22 -0700)]
Replace x*155/100 by x*101581>>16.

Idea stolen from webp - because it's cool.

Change-Id: Ic6e55e026e6533fbd2524ef090e3cbccf8af50dd

12 years agoUse vpx_integer.h instead of stdint.h
Johann [Tue, 24 Jul 2012 17:19:44 +0000 (10:19 -0700)]
Use vpx_integer.h instead of stdint.h

vpx_integer accounts for win32, which does not have stdint.h

Change-Id: I0ecf243ba56ed2e920e1293a6876c2e1ef1af99e

12 years agoMerge "Use ACMRandom for all tests"
Johann [Tue, 24 Jul 2012 16:35:50 +0000 (09:35 -0700)]
Merge "Use ACMRandom for all tests"

12 years agoMerge "Allow specifying the seed"
Johann [Tue, 24 Jul 2012 16:35:37 +0000 (09:35 -0700)]
Merge "Allow specifying the seed"

12 years agoMerge "Make random streams consistant"
Johann [Tue, 24 Jul 2012 16:35:23 +0000 (09:35 -0700)]
Merge "Make random streams consistant"

12 years agoAdded unit test of vp8_set_roimap()
Paul Wilkins [Fri, 20 Jul 2012 14:55:07 +0000 (15:55 +0100)]
Added unit test of vp8_set_roimap()

Change-Id: I99937cbdd6bfe52b7c8ae42f05526dfc06a602f4

12 years agoUse ACMRandom for all tests
Johann [Mon, 23 Jul 2012 22:09:51 +0000 (15:09 -0700)]
Use ACMRandom for all tests

Change-Id: I3bfa40cbc04828fd1d6b61f138c92a2159a67570

12 years agoAllow specifying the seed
Johann [Mon, 23 Jul 2012 22:06:12 +0000 (15:06 -0700)]
Allow specifying the seed

Change-Id: Ie933998b08cd2b3f0e379b8fa7d394c95bd08cac

12 years agoMake random streams consistant
Johann [Mon, 23 Jul 2012 21:55:32 +0000 (14:55 -0700)]
Make random streams consistant

Reset the seed so the second pass stream matches the first

Change-Id: Id0c0f73abb835b5ca92d76b14e0b02f6239a6ee3

12 years agoMove ACMRandom to acm_random.h
Johann [Fri, 20 Jul 2012 18:51:06 +0000 (11:51 -0700)]
Move ACMRandom to acm_random.h

Change-Id: I1d99c56d1e1f521507978737fc661ca90af72507

12 years agoRemove unused macros
Johann [Fri, 20 Jul 2012 18:45:23 +0000 (11:45 -0700)]
Remove unused macros

Also available in util.h

Change-Id: I4745d72f57c11c55772d3bf0ef15c09bd86eb5bf

12 years agobash uses curly braces
Johann [Fri, 20 Jul 2012 18:41:06 +0000 (11:41 -0700)]
bash uses curly braces

Change-Id: I2799c766008dc9016d2e55e6e40ae2c4ae4b37d2

12 years agoDisabling MIPS optimizations for big endian platforms
Dragan Mrdjan [Fri, 20 Jul 2012 16:10:52 +0000 (09:10 -0700)]
Disabling MIPS optimizations for big endian platforms

Change-Id: Idae399ecbd10e287ef30b2e0b95822dc9175ce0a

12 years agoMerge "examples: fix memory leak"
John Koleszar [Mon, 16 Jul 2012 23:05:20 +0000 (16:05 -0700)]
Merge "examples: fix memory leak"

12 years agomulti-res: add parameter validity checking
Yunqing Wang [Wed, 11 Jul 2012 18:43:51 +0000 (11:43 -0700)]
multi-res: add parameter validity checking

Added validity checking in multi-res encoder. Disable spatial
resampling and frame dropping before we have those supports.
Also, deallocate the memory for all resolution levels once error
occurs.

Change-Id: Ia5d65a645381cad1a49940ab3a19bb5696c39c09

12 years agoexamples: fix memory leak
John Koleszar [Sat, 14 Jul 2012 00:11:21 +0000 (17:11 -0700)]
examples: fix memory leak

Free used resources before exiting.

Change-Id: If6cde6541615fbf17bf56ed335b76e676eabba93

12 years agoRemove unused parameter in encoder interface code
Yunqing Wang [Thu, 12 Jul 2012 15:23:12 +0000 (08:23 -0700)]
Remove unused parameter in encoder interface code

Removed encoding_mode, which is not used anymore.

Change-Id: I569b2d4afe4d2f57bda8248615108c7cfc40134c

12 years agounset executable bit on source code
John Koleszar [Fri, 13 Jul 2012 16:44:25 +0000 (09:44 -0700)]
unset executable bit on source code

Change-Id: I0ddc849495c34f44c0b315cd7d58ad3d563f45e5

12 years agoFix to compile properly on MIPS
Dragan Mrdjan [Wed, 11 Jul 2012 15:56:53 +0000 (08:56 -0700)]
Fix to compile properly on MIPS

Change-Id: I816d903e36605db2af691ccea9e68d7390942baa

12 years agoMerge "VP8 optimizations for MIPS dspr2"
Johann [Tue, 10 Jul 2012 23:01:41 +0000 (16:01 -0700)]
Merge "VP8 optimizations for MIPS dspr2"

12 years agoMerge "Add unit test for vp8_sixtap_predict functions"
Yunqing Wang [Tue, 10 Jul 2012 18:19:14 +0000 (11:19 -0700)]
Merge "Add unit test for vp8_sixtap_predict functions"

12 years agoMerge "I420VideoSource: add members to ctor initialization"
John Koleszar [Tue, 10 Jul 2012 18:04:46 +0000 (11:04 -0700)]
Merge "I420VideoSource: add members to ctor initialization"

12 years agoVP8 optimizations for MIPS dspr2
Dragan Mrdjan [Wed, 11 Apr 2012 16:53:15 +0000 (09:53 -0700)]
VP8 optimizations for MIPS dspr2

Signed-off-by: Raghu Gandham <raghu@mips.com>
Change-Id: I3a8bca425cd3dab746a6328c8fc8843c8e87aea6

12 years agoAdd unit test for vp8_sixtap_predict functions
Yunqing Wang [Thu, 28 Jun 2012 17:37:53 +0000 (10:37 -0700)]
Add unit test for vp8_sixtap_predict functions

This unit test tests vp8_sixtap_predict function against preset
data and random generated data. The test against preset data
checks the correctness of the functions, and the test against
random data checks if the optimized six-tap predictor functions
generate matching result as the c functions. It tests the
following functions:
vp8_sixtap_predict16x16_c
vp8_sixtap_predict16x16_mmx
vp8_sixtap_predict16x16_sse2
vp8_sixtap_predict16x16_ssse3

vp8_sixtap_predict8x8_c
vp8_sixtap_predict8x8_mmx
vp8_sixtap_predict8x8_sse2
vp8_sixtap_predict8x8_ssse3

vp8_sixtap_predict8x4_c
vp8_sixtap_predict8x4_mmx
vp8_sixtap_predict8x4_sse2
vp8_sixtap_predict8x4_ssse3

vp8_sixtap_predict4x4_c
vp8_sixtap_predict4x4_mmx
vp8_sixtap_predict4x4_ssse3

Change-Id: I6de097898ebca34a4c8020aed1e8dde5cd3e493b

12 years agoMerge "Remove goldfreq in VP8_COMP"
Yunqing Wang [Tue, 10 Jul 2012 16:19:37 +0000 (09:19 -0700)]
Merge "Remove goldfreq in VP8_COMP"

12 years agoI420VideoSource: add members to ctor initialization
James Zern [Tue, 10 Jul 2012 00:36:01 +0000 (17:36 -0700)]
I420VideoSource: add members to ctor initialization

silences valgrind warnings about uninitialized values in SetSize()

Change-Id: I54c4fdcc246687793393735b213c8777e79e47da

12 years agoMerge "Add 0 offsets handling in SSSE3 sixtap_predict functions"
Yunqing Wang [Tue, 3 Jul 2012 22:55:02 +0000 (15:55 -0700)]
Merge "Add 0 offsets handling in SSSE3 sixtap_predict functions"

12 years agoMerge "Fix subpixel_predict initialization"
Yunqing Wang [Tue, 3 Jul 2012 22:22:00 +0000 (15:22 -0700)]
Merge "Fix subpixel_predict initialization"

12 years agoAdd 0 offsets handling in SSSE3 sixtap_predict functions
Yunqing Wang [Mon, 2 Jul 2012 23:50:48 +0000 (16:50 -0700)]
Add 0 offsets handling in SSSE3 sixtap_predict functions

This patch fixed issue 458 by calling copy function when both
offsets are 0, which guarantees the SSSE3 functions output
same result as the c function for all possible offsets.

Change-Id: I209aec7a4c6b3362db2646a8887c1038493b6496

12 years agoFix subpixel_predict initialization
Yunqing Wang [Mon, 2 Jul 2012 21:47:47 +0000 (14:47 -0700)]
Fix subpixel_predict initialization

xd->subpixel_predict16x16 is called in first pass, but isn't
initialized in first pass, which causes segfault. This patch
fixed that problem.

Change-Id: Ibd2cad4e2d32ea589fc3e0876d60d3079ae836e7

12 years agoBuild unit test driver from the default target
John Koleszar [Fri, 29 Jun 2012 19:15:00 +0000 (12:15 -0700)]
Build unit test driver from the default target

We need an easy way to build the unit test driver without running the
tests. This enables passing options like --gtest_filter to the
executable, which can't be done very cleanly when running under
`make test`.

Fixed a number of compiler errors/warnings when building the tests
in various configurations by Jenkins.

Change-Id: I9198122600bcf02520688e5f052ab379f963b77b

12 years agofdct4x4_test: remove unnecessary includes
John Koleszar [Fri, 29 Jun 2012 19:09:02 +0000 (12:09 -0700)]
fdct4x4_test: remove unnecessary includes

Removes compiler warnings stemming from compiling C as C++.

Change-Id: I84ec60d04fcc6281b6f2ea75af6a22fa3232d95f

12 years agoMerge "Fix decimation_count in drop_frame"
Yunqing Wang [Fri, 29 Jun 2012 17:57:39 +0000 (10:57 -0700)]
Merge "Fix decimation_count in drop_frame"

12 years agofix permissions on regular files
James Zern [Thu, 28 Jun 2012 06:45:56 +0000 (23:45 -0700)]
fix permissions on regular files

Change-Id: I731354b3cf3405eba2dfffcb47d174b5fa9df21a

12 years agofixed a build problem with target=x86_64-win64-vs9
Yaowu Xu [Tue, 26 Jun 2012 00:24:15 +0000 (17:24 -0700)]
fixed a build problem with target=x86_64-win64-vs9

Change-Id: I9c56216d22212c4fc13a5e2ed02f30f5b373b94c

12 years agoAdded unit test for 4x4 forward dct
Yaowu Xu [Mon, 18 Jun 2012 20:41:17 +0000 (13:41 -0700)]
Added unit test for 4x4 forward dct

Change-Id: I1607676879c29adc0173a3c0355a0e5d8a84fc3b

12 years agoMerge "Add unit test for intra prediction."
Jim Bankoski [Mon, 25 Jun 2012 21:46:45 +0000 (14:46 -0700)]
Merge "Add unit test for intra prediction."

12 years agoMerge changes I94a061eb,If6910fe3
John Koleszar [Mon, 25 Jun 2012 19:52:02 +0000 (12:52 -0700)]
Merge changes I94a061eb,If6910fe3

* changes:
  add auto keyframe unit test
  Add support for downloading test data

12 years agogen_asm_deps.sh: regex fix
John Koleszar [Mon, 25 Jun 2012 17:09:05 +0000 (10:09 -0700)]
gen_asm_deps.sh: regex fix

Fixed the quantifier that optionally matches a quote before the
filename. This was originally reported in the homebrew project[1].
Note that this fix is different than patch posted there, as there are
some platforms that don't have the quote, so it needs to be included
in the expression optionally.

[1]: https://github.com/mxcl/homebrew/issues/12567#issuecomment-6434000

Change-Id: Ibf2ed93ce169d80932e877f942dc4eeb03867f8b

12 years agoAdd unit test for intra prediction.
Ronald S. Bultje [Mon, 25 Jun 2012 16:34:10 +0000 (09:34 -0700)]
Add unit test for intra prediction.

Change-Id: I7dadadeb99bee5a51219f46fe11c760fc294c735

12 years agoadd auto keyframe unit test
Jim Bankoski [Sat, 23 Jun 2012 18:20:41 +0000 (11:20 -0700)]
add auto keyframe unit test

To do so we add a framework for encoding a yv12 file..

Change-Id: I94a061eb916beaf6cde920cf1aaadb6eed10a717

12 years agoAlter comment on range of delta_q and delta_lf
Paul Wilkins [Wed, 20 Jun 2012 14:20:53 +0000 (15:20 +0100)]
Alter comment on range of delta_q and delta_lf

Update the comment that defines the allowed ranges for
delta_q and delta_lf that can be used with segmentation.

Change-Id: Ie56ad6f946704259e03ffd49921a4cfb7e1e2f1f

12 years agoMerge "Cosmetics: test/test_libvpx.cc"
John Koleszar [Fri, 22 Jun 2012 22:13:39 +0000 (15:13 -0700)]
Merge "Cosmetics: test/test_libvpx.cc"

12 years agoMerge "Clean Android build defaults"
Johann [Fri, 22 Jun 2012 19:56:01 +0000 (12:56 -0700)]
Merge "Clean Android build defaults"

12 years agoCosmetics: test/test_libvpx.cc
John Koleszar [Fri, 22 Jun 2012 18:53:04 +0000 (11:53 -0700)]
Cosmetics: test/test_libvpx.cc

Itchy submit finger, incorporate review comments.

Change-Id: I7754ad825da32389510d1bfc967f542f0b1033ed

12 years agoMerge "Runtime CPU detection for unit tests"
John Koleszar [Fri, 22 Jun 2012 18:47:02 +0000 (11:47 -0700)]
Merge "Runtime CPU detection for unit tests"

12 years agoRuntime CPU detection for unit tests
John Koleszar [Fri, 22 Jun 2012 17:57:05 +0000 (10:57 -0700)]
Runtime CPU detection for unit tests

Filter out tests that require SIMD extensions if the host doesn't
support them.

Change-Id: Ifac4b73e98e64f9f1b082cc0ffbf5c2faffb0834

12 years agoAdd support for downloading test data
John Koleszar [Wed, 20 Jun 2012 21:45:22 +0000 (14:45 -0700)]
Add support for downloading test data

The commit introduces a make target 'testdata' that downloads the
required test data from the WebM project website. The data will also
be downloaded if invoking `make test` but is not a strict requirement
for only building the test executable.

The download directory is taken from the LIBVPX_TEST_DATA_PATH
environment variable, or may be specified as part of the make command.
If unset, it defaults to the current directory. It's expected that
most developers will want to set this environment variable to a place
outside their source/build trees, to avoid having to download the data
more than once.

To add test data file:

  1) add a line to test/test.mk:

      LIBVPX_TEST_DATA-yes += foo-bar-file.y4m

  2) add its sha1sum to the test/test-data.sha1 file in the following
     format:

      528cc88c821e5f5b133c2b40f9c8e3f22eaacc4c  foo-bar-file.y4m

  3) upload the file to the website

      $ gsutil cp foo-bar-file.y4m gs://downloads.webmproject.org/test_data/libvpx

This implementation will check the integrity of the test data
automatically if the `sha1sum` executable is available.

Change-Id: If6910fe304bb3f5cdcc5cb9e5f9afa5be74720d2

12 years agoAdded unit test for vp8_post_proc_down_and_across
Adrian Grange [Tue, 19 Jun 2012 19:03:36 +0000 (12:03 -0700)]
Added unit test for vp8_post_proc_down_and_across

This is a unit test for the post-processing functions:
- vp8_post_proc_down_and_across_c
- vp8_post_proc_down_and_across_mmx
- vp8_post_proc_down_and_across_xmm

Change-Id: Iec3e690327b17470209c00417835473f6d9a35d6

12 years agoMerge "Fix segmentation updates with vp8_set_roimap()"
Paul Wilkins [Wed, 20 Jun 2012 17:34:28 +0000 (10:34 -0700)]
Merge "Fix segmentation updates with vp8_set_roimap()"

12 years agoFix compilation with -werror
John Koleszar [Wed, 20 Jun 2012 04:05:36 +0000 (21:05 -0700)]
Fix compilation with -werror

Fix a last few warnings with multithread, arm, 32 bit

Change-Id: Ic7c67616c370d0ff87562a232fb1e5df0702dc86

12 years agoClean Android build defaults
Johann [Tue, 12 Jun 2012 15:58:11 +0000 (08:58 -0700)]
Clean Android build defaults

Disable unit-tests. The logging in GTest would need to be adjusted.

Restructure ARM cpu detection. Flatten if-else logic.

Change #if defined(HAVE_*) to #if HAVE_* because we only need to check
for features that the library was actually built with. This should have
been harmless, as disabled feature sets wouldn't have any features to
call.

Change-Id: Iea21aa42ce5f049c53ca0376d25bcd0f36f38284

12 years agoFix segmentation updates with vp8_set_roimap()
Paul Wilkins [Thu, 14 Jun 2012 15:26:07 +0000 (16:26 +0100)]
Fix segmentation updates with vp8_set_roimap()

Changes relating to Issue 411

Removed code that was clearing down the segmentation data each
frame.

Added range/parameter checking in vp8_set_roimap(); Return error
if called when cyclic_refresh is enabled.

Correct setup_features() so that it sets or clears the segment update
flags as appropriate.

Change-Id: Ib31ac53006640ddf1ba7b9ec8f8b952e3eff860a

12 years agoEnables building examples with Android NDK
Attila Nagy [Thu, 12 Apr 2012 09:50:19 +0000 (12:50 +0300)]
Enables building examples with Android NDK

Soft enable runtime cpu detect for armv7-android target, so that it
can be disabled and remove dependency on 'cpufeatures' lib.
Change the arm_cpu_caps implementation selection such that 'no rtcd' takes
precedence over system type.

Switch to use -mtune instead of -mcpu. NDK was complaining about
-mcpu=cortex-a8 conflicting with -march=armv7-a, not sure why.

Add a linker flag to fix some cortex-a8 bug, as suggested by NDK Dev
Guide.

Examples:
Configure for armv7+neon:

./configure --target=armv7-android-gcc \
            --sdk-path=/path/to/android/ndk \
            --disable-runtime-cpu-detect \
            --enable-realtime-only \
            --disable-unit-tests

...armv7 w/o neon:

./configure --target=armv7-android-gcc \
            --sdk-path=/path/to/android/ndk \
            --disable-runtime-cpu-detect \
            --enable-realtime-only \
            --disable-neon \
            --cpu=cortex-a9 \
            --disable-unit-tests

Change-Id: I37e2c0592745208979deec38f7658378d4bd6cfa

12 years agoMerge "disable lagged encoding in one-pass"
John Koleszar [Tue, 19 Jun 2012 21:50:46 +0000 (14:50 -0700)]
Merge "disable lagged encoding in one-pass"

12 years agoCorrected usage of image strides
Adrian Grange [Tue, 19 Jun 2012 18:19:40 +0000 (11:19 -0700)]
Corrected usage of image strides

The function vp8_post_proc_down_and_across_c takes the
stride of both the src and dst images as parameters, but
assumes that they are the same.

I modified the code to use the correct strides, as the
assembler versions of these functions do.

Change-Id: I222715b774cd071b21c15a4b0d2f4aef64a520de

12 years agoMerge "Fix pkg-config file to pull in libm"
John Koleszar [Sat, 16 Jun 2012 00:03:21 +0000 (17:03 -0700)]
Merge "Fix pkg-config file to pull in libm"

12 years agoFix pkg-config file to pull in libm
Rob Bradford [Mon, 28 May 2012 12:00:24 +0000 (13:00 +0100)]
Fix pkg-config file to pull in libm

vpx uses symbols in libm and thus we need to provide an indication to
the user of libvpx that if they want to link against libvpx they must
also link against libm.

Change-Id: I31d4068bf7f6f5b1fd222bcdf9e6a1a92fb6696f

12 years agoRemove threading dependencies with --disable-multithread
John Koleszar [Fri, 15 Jun 2012 22:40:13 +0000 (15:40 -0700)]
Remove threading dependencies with --disable-multithread

Avoid a pthreads dependency via pthread_once() when compiled with
--disable-multithread.

In addition, this synchronization is disabled for Win32 as well, even
though we can be sure that the required primatives exist, so that the
requirements on the application when built with --disable-multithread
are consistent across platforms.

Users using libvpx built with --disable-multithread in a multithreaded
context should provide their own synchronization. Updated the
documentation to vpx_codec_enc_init_ver() and vpx_codec_dec_init_ver()
to note this requirement. Moved the RTCD initialization call to match
this description, as previously it didn't happen until the first
frame.

Change-Id: Id576f6bce2758362188278d3085051c218a56d4a

12 years agodisable lagged encoding in one-pass
James Zern [Wed, 13 Jun 2012 18:59:12 +0000 (11:59 -0700)]
disable lagged encoding in one-pass

This currently has no effect and can create an artificial lag in e.g.,
realtime.

Change-Id: Ia1c7c6dbe7c6fe82a944f087f1b0d1dbbc0aa1b6

12 years agoRemove goldfreq in VP8_COMP
Yunqing Wang [Tue, 12 Jun 2012 15:57:26 +0000 (11:57 -0400)]
Remove goldfreq in VP8_COMP

goldfreq can be replaced by DEFAULT_GF_INTERVAL.

Change-Id: I3659a9e7b9a6be9cb1952a1838e02c20d656e369

12 years agoFix pedantic compiler warnings
John Koleszar [Mon, 21 May 2012 21:30:56 +0000 (14:30 -0700)]
Fix pedantic compiler warnings

Allows building the library with the gcc -pedantic option, for improved
portabilty. In particular, this commit removes usage of C99/C++ style
single-line comments and dynamic struct initializers. This is a
continuation of the work done in commit 97b766a46, which removed most
of these warnings for decode only builds.

Change-Id: Id453d9c1d9f44cc0381b10c3869fabb0184d5966

12 years agoMerge "Fix MSVS builds for unit test changes"
John Koleszar [Mon, 11 Jun 2012 20:52:28 +0000 (13:52 -0700)]
Merge "Fix MSVS builds for unit test changes"

12 years agoFix bad merge
John Koleszar [Mon, 11 Jun 2012 19:24:14 +0000 (12:24 -0700)]
Fix bad merge

Change-Id: I45849dde0ee9b7e87fa32adb65ade8486bb66556

12 years agoMerge branch 'origin/eider' into master
John Koleszar [Mon, 4 Jun 2012 22:11:42 +0000 (15:11 -0700)]
Merge branch 'origin/eider' into master

Change-Id: I79fd7bd18aa1af41cd066ccc3d1cd16744b9c8d1

12 years agoMerge "Reset Q for key frame when spatial resizing occurs."
John Koleszar [Mon, 11 Jun 2012 19:02:56 +0000 (12:02 -0700)]
Merge "Reset Q for key frame when spatial resizing occurs."

12 years agoMerge "Skip AS detection for VS"
John Koleszar [Mon, 11 Jun 2012 19:02:35 +0000 (12:02 -0700)]
Merge "Skip AS detection for VS"

12 years agobuild: hide grep/obj_int_extract commands when verbose=0
James Zern [Sat, 9 Jun 2012 21:32:45 +0000 (14:32 -0700)]
build: hide grep/obj_int_extract commands when verbose=0

Change-Id: Ic30d7335b5bf912b39ea55f2b759fe5b7d523ca8

12 years agoFix decimation_count in drop_frame
Yunqing Wang [Thu, 7 Jun 2012 17:57:21 +0000 (13:57 -0400)]
Fix decimation_count in drop_frame

Frame dropping decision is made by evaluating both current frame
and next frame's buffer_level. If both buffer_levels are less
than drop_mark, next frame is dropped. When frame dropping is
over, namely, buffer_level becomes normal again, we need to
reset decimation_count to 0.

Change-Id: Iae182612e61e0da367fbd43afdc90738d975d1a3

12 years agoRemove unused code in drop_frame
Yunqing Wang [Thu, 7 Jun 2012 15:26:47 +0000 (11:26 -0400)]
Remove unused code in drop_frame

Removed unused parameters and code related to drop_frame.

Change-Id: I594e050d49b1805c6f72abf06005ef624256bb57

12 years agoReset Q for key frame when spatial resizing occurs.
Marco Paniconi [Wed, 6 Jun 2012 18:38:48 +0000 (11:38 -0700)]
Reset Q for key frame when spatial resizing occurs.

The logic for spatial resizing is done after the Q is selected for the
frame. This causes a problem that the Q we select for the (resized)
key frame may be based on a different resolution than the frame we
will encode.

This fix is to ensure that, when resize is on, the selected Q is still
based on the resolution of the frame to be encoded.

Change-Id: Ia49a9eac5f64e48d1c00dfc7ed4ce26fe84d3fa1

12 years agoSkip AS detection for VS
Johann Koenig [Mon, 12 Dec 2011 17:43:42 +0000 (09:43 -0800)]
Skip AS detection for VS

Visual Studio doesn't use the assembler in $PATH

Change-Id: I169f8492127cbc1d256a2fb2e749cd970040ccc8

12 years agoMerge "Fix windows build: obj_int_extract to extract numbrs from .rdata" into eider
John Koleszar [Tue, 5 Jun 2012 01:54:52 +0000 (18:54 -0700)]
Merge "Fix windows build: obj_int_extract to extract numbrs from .rdata" into eider

12 years agoMerge "asm_*_offsets to define variables as constants" into eider
John Koleszar [Tue, 5 Jun 2012 01:54:23 +0000 (18:54 -0700)]
Merge "asm_*_offsets to define variables as constants" into eider

12 years agoFix windows build: obj_int_extract to extract numbrs from .rdata
Alpha Lam [Wed, 30 May 2012 18:18:35 +0000 (11:18 -0700)]
Fix windows build: obj_int_extract to extract numbrs from .rdata

The change in assembly offset files to define values as const int broke
Windows build, because the variables are stored in .rdata section instead
of .data section.

This CL changes the integer peeking from .data to .rdata.

Change-Id: I87e465ddcc78d39ec29f3720ea7df0ab807d5512

12 years agoasm_*_offsets to define variables as constants
Alpha Lam [Thu, 24 May 2012 04:35:35 +0000 (21:35 -0700)]
asm_*_offsets to define variables as constants

This change is to allow obj_int_extract to extract all integers
in the data segment. With the const keyword these variables are
forced into the .rodata segment even for zero variable value.

We had a problem before that zero valueed variables would get
assigned to BSS segment that fooled obj_int_extract to give
incorrect values.

Change-Id: Icd94f80a8ab356879894ca508bf132d20b865299

12 years agoRemove extra enum
Johann [Wed, 23 May 2012 23:08:37 +0000 (16:08 -0700)]
Remove extra enum

VP8_REFFRAME is the same as vpx_ref_frame_type

Change-Id: I63c2ddfb39f6ec87d1e5eb6a8852846464552b1b

12 years agoRemove redundant assignment
Johann [Wed, 9 May 2012 17:26:07 +0000 (10:26 -0700)]
Remove redundant assignment

clang complains about self-assignment

Change-Id: Iead70eed0a960e84a4b167f67f05b05e2965b3b6

12 years agoExplicitly discard fwrite/fread return values
Johann [Wed, 2 May 2012 21:12:57 +0000 (14:12 -0700)]
Explicitly discard fwrite/fread return values

Using if(); triggers an empty body warning with clang

Change-Id: I0fa2ee676400a974b40f8eaafca9ae668107eebb

12 years agoFix MSVS builds for unit test changes
John Koleszar [Fri, 1 Jun 2012 17:43:47 +0000 (10:43 -0700)]
Fix MSVS builds for unit test changes

Update the Visual Studio builds to support the new monolithic unit
test binary.

Includes minor semi-cosmetic refactoring of solution.mk, as the
%vpx.vcproj match is no longer appropriate given the test_libvpx
target.

Change-Id: I29e6e07c39e72b54a4b3eaca5b9b7877ef3fb134