profile/ivi/libvpx.git
12 years agoFix encoder partitioned output on ARM
Attila Nagy [Thu, 10 Nov 2011 11:07:37 +0000 (13:07 +0200)]
Fix encoder partitioned output on ARM

API was not returning correct partition sizes on arm targets.
The armv5 token packing functions were not storing the information to the
partition size table.
As a fix, have one boolcoder instance allocated for each partition so
that partition sizes are internally available after all partitions
were encoded. This will also allow more flexibility in producing
several partitions in parallel.

Use buffer validation (overflow check) in all ARM bitpacking
functions.

Change-Id: I31c8a11d8a7613676f0ff50928cb2a2ab14fd169

12 years agoValidate encoder buffer writes for single token partition
Attila Nagy [Wed, 9 Nov 2011 12:44:31 +0000 (14:44 +0200)]
Validate encoder buffer writes for single token partition

Extend buffer write validation (overflow check) to single token
partition packing, both mb and row based functions.

Change-Id: I36e19b7d37fc43712d05c70e3ad223d3eb5b973d

12 years agoMerge "Added predictor stride argument(s) to subtract functions"
Scott LaVarnway [Thu, 17 Nov 2011 18:17:53 +0000 (10:17 -0800)]
Merge "Added predictor stride argument(s) to subtract functions"

12 years agoMerge "avoid resetting framerate during vpx_codec_enc_config_set()"
Johann [Wed, 16 Nov 2011 23:32:44 +0000 (15:32 -0800)]
Merge "avoid resetting framerate during vpx_codec_enc_config_set()"

12 years agoAdded predictor stride argument(s) to subtract functions
Scott LaVarnway [Tue, 15 Nov 2011 17:53:01 +0000 (12:53 -0500)]
Added predictor stride argument(s) to subtract functions

Patch set 2: 64 bit build fix
Patch set 3: 64 bit crash fix

[Tero]
Patch set 4: Updated ARMv6 and NEON assembly.
             Added also minor NEON optimizations to subtract
             functions.

Patch set 5: x86 stride bug fix

Change-Id: I1fcca93e90c89b89ddc204e1c18f208682675c15

12 years agoAdd x86_64-win64-gcc to supported targets
Rafaël Carré [Sat, 12 Nov 2011 03:45:44 +0000 (22:45 -0500)]
Add x86_64-win64-gcc to supported targets

libvpx builds and runs correctly when built with x86_64-w64-mingw32-gcc
Version tested: 4.6.1

Change-Id: I9aa953d615551ca4834c9a5f8b68778d032a6cf5

13 years agoUpdate LICENSE to reflect WebM authors
John Koleszar [Fri, 4 Nov 2011 22:43:11 +0000 (15:43 -0700)]
Update LICENSE to reflect WebM authors

This code is Copyright The WebM Project Authors, not only Google.

Change-Id: Ib5a9dec4ba3177ccb2b06dcfe9605d2b3a3a3d8b

13 years agoavoid resetting framerate during vpx_codec_enc_config_set()
John Koleszar [Fri, 11 Nov 2011 18:47:20 +0000 (10:47 -0800)]
avoid resetting framerate during vpx_codec_enc_config_set()

The calculated frame_rate is a state variable in the codec, and
shouldn't be maintained in the configuration struct. Move it to the
main part of cpi so that it isn't clobbered when the configuration
struct is updated. The initial framerate estimate is moved from the
vp8_cx_iface.c wrapper into the body of init_config() in onyx_if.c, so
that it is only called once and not reset on every call to
vp8_change_config().

Change-Id: I8d9a3d1283330d1ee297d07e9d78d1f2875f2465

13 years agoMerge "vpxdec: avoid redefining fileno() on mingw"
Johann [Thu, 10 Nov 2011 17:43:12 +0000 (09:43 -0800)]
Merge "vpxdec: avoid redefining fileno() on mingw"

13 years agovpxdec: avoid redefining fileno() on mingw
James Zern [Thu, 10 Nov 2011 00:02:55 +0000 (16:02 -0800)]
vpxdec: avoid redefining fileno() on mingw

Correct ifdef check for Visual Studio's compiler, mingw builds can use
unistd.h.

Change-Id: I25c5ee46ef75ffbff03f560293dfb3d6bed55f70

13 years agovpxenc: use off64_t for mingw
James Zern [Tue, 6 Sep 2011 19:21:19 +0000 (12:21 -0700)]
vpxenc: use off64_t for mingw

fixes fseek errors on large files resulting in corrupt/truncated output
(issue #364).

Change-Id: If0e189a1591d0e95d7d237332e0bea1cf2ec5aa1

13 years agoMerge "Relocated idct/add calls for encoder"
Scott LaVarnway [Wed, 9 Nov 2011 18:17:43 +0000 (10:17 -0800)]
Merge "Relocated idct/add calls for encoder"

13 years agoMerge "ARMv6 optimized Intra4x4 prediction"
Johann [Wed, 9 Nov 2011 17:36:33 +0000 (09:36 -0800)]
Merge "ARMv6 optimized Intra4x4 prediction"

13 years agoMerge "Reset FPU state after calc_plane_error()"
John Koleszar [Wed, 9 Nov 2011 17:35:08 +0000 (09:35 -0800)]
Merge "Reset FPU state after calc_plane_error()"

13 years agoMerge "Compiler warning fix for const array."
John Koleszar [Wed, 9 Nov 2011 17:34:50 +0000 (09:34 -0800)]
Merge "Compiler warning fix for const array."

13 years agoMerge "Remove unused file recon.c"
John Koleszar [Wed, 9 Nov 2011 17:31:23 +0000 (09:31 -0800)]
Merge "Remove unused file recon.c"

13 years agoRelocated idct/add calls for encoder
Scott LaVarnway [Wed, 9 Nov 2011 15:41:05 +0000 (10:41 -0500)]
Relocated idct/add calls for encoder

Call the idct/add after the tokenize.  This is WIP with
the goal of creating a common idct/add for the encoder and
decoder. This move is necessary because the decoder's version
of the idct clobbers qcoeff, which is used by the tokenize.

Change-Id: I6b08d8e8397cd873647fa4fb9469884e3c876756

13 years agoARMv6 optimized Intra4x4 prediction
Tero Rintaluoma [Mon, 7 Nov 2011 11:40:01 +0000 (13:40 +0200)]
ARMv6 optimized Intra4x4 prediction

Added ARM optimized intra 4x4 prediction
 - 2x faster on Profiler compared to C-code compiled with -O3
 - Function interface changed a little to improve BLOCKD structure
   access

Change-Id: I9bc2b723155943fe0cf03dd9ca5f1760f7a81f54

13 years agothreading: avoid defining _WIN32_WINNT
James Zern [Wed, 9 Nov 2011 02:50:45 +0000 (18:50 -0800)]
threading: avoid defining _WIN32_WINNT

The referenced function (SignalObjectAndWait) isn't used. Reduces the
warnings with mingw32-w64 which defines this.

Change-Id: I4ce592879ec9372bf196dac640204c4d370bd210

13 years agoRemove unused file recon.c
John Koleszar [Tue, 8 Nov 2011 23:54:56 +0000 (15:54 -0800)]
Remove unused file recon.c

File not referenced from anywhere and no longer compiles.

Change-Id: I38b11bd60db615c2c2c9d7ad35caba3a1adf1750

13 years agoFix checks in MB quantizer initialization
Yunqing Wang [Tue, 8 Nov 2011 17:11:48 +0000 (12:11 -0500)]
Fix checks in MB quantizer initialization

vp8cx_mb_init_quantizer() needs to be called at least once to get
all values calculated. This change added one check to decide if
we could skip initialization or not.

Change-Id: I3f65eb548be57580a61444328336bc18c25c085b

13 years agoMerge "Third set of checks of buffer level against maximum buffer size"
Adrian Grange [Tue, 8 Nov 2011 16:00:31 +0000 (08:00 -0800)]
Merge "Third set of checks of buffer level against maximum buffer size"

13 years agoMerge "Additional clipping of buffer level to maximum buffer size"
Adrian Grange [Tue, 8 Nov 2011 16:00:12 +0000 (08:00 -0800)]
Merge "Additional clipping of buffer level to maximum buffer size"

13 years agoMerge "win64: use -f x64 in asflags instead of -f win64"
Johann [Tue, 8 Nov 2011 01:50:08 +0000 (17:50 -0800)]
Merge "win64: use -f x64 in asflags instead of -f win64"

13 years agoThird set of checks of buffer level against maximum buffer size
Adrian Grange [Tue, 8 Nov 2011 01:15:28 +0000 (17:15 -0800)]
Third set of checks of buffer level against maximum buffer size

Additional check of buffer level to ensure it doesn't exceed the
maximum buffer size.

Change-Id: I1ba4f8b09bbec89646885040ff47470196af521e

13 years agoAdditional clipping of buffer level to maximum buffer size
Adrian Grange [Tue, 8 Nov 2011 00:54:40 +0000 (16:54 -0800)]
Additional clipping of buffer level to maximum buffer size

Added additional check of buffer level against maximum
buffer size.

Change-Id: Iaf1fbaf008601161e402b43ce82c3dbc129bf740

13 years agowin64: use -f x64 in asflags instead of -f win64
Rafaël Carré [Tue, 8 Nov 2011 00:45:34 +0000 (19:45 -0500)]
win64: use -f x64 in asflags instead of -f win64

Change-Id: Id1be1a91c7f0fd286c403489ff447837029ba17f

13 years agoAdded check to make sure maximum buffer size not exceeded
Adrian Grange [Tue, 8 Nov 2011 00:28:13 +0000 (16:28 -0800)]
Added check to make sure maximum buffer size not exceeded

Added code to clip the buffer level to the maximum buffer
size. Without this the buffer level would increase
unchecked.

This bug was found when encoding an essentially static
scene at 2Mb/s. The encoder is unable to generate frames
consistent with the high data-rate because Q bottoms out
at Qmin.

As frames generated are consistently undersized the buffer
level increases and does not get checked against the
maximum size specified by the user (or default).

Change-Id: Id8a3c6323d3246da50f7cb53ddbf78b5528032c6

13 years agofix file permissions
James Zern [Sat, 5 Nov 2011 01:50:35 +0000 (18:50 -0700)]
fix file permissions

all of googletest import (0ab00a22) was marked executable

Change-Id: Id7b7ee03efc21ab998bb03349bd91644e8af25da

13 years agoCompiler warning fix for const array.
Fritz Koenig [Fri, 4 Nov 2011 22:35:42 +0000 (15:35 -0700)]
Compiler warning fix for const array.

Fix compiler warning for passing a non const array
to a function expecting a const array by using an
intermediary pointer and casting.

Change-Id: I9bdd358ebdc926223993fb8fb2098ffedd2f3fc7

13 years agoAdd unit test support via google test
James Berry [Fri, 4 Nov 2011 15:48:30 +0000 (11:48 -0400)]
Add unit test support via google test

Change-Id: I0ab00a22fbea1f38c96ef92ef7eaeda782c0c8d3

13 years agoMerge "Add checks in MB quantizer initialization"
Yunqing Wang [Fri, 4 Nov 2011 18:52:27 +0000 (11:52 -0700)]
Merge "Add checks in MB quantizer initialization"

13 years agoMerge "Fix issue 374: eob read incorrectly"
Scott LaVarnway [Fri, 4 Nov 2011 18:31:17 +0000 (11:31 -0700)]
Merge "Fix issue 374: eob read incorrectly"

13 years agoMerge "Changing decoder input partition API to input fragments."
John Koleszar [Fri, 4 Nov 2011 16:36:27 +0000 (09:36 -0700)]
Merge "Changing decoder input partition API to input fragments."

13 years agoFix issue 374: eob read incorrectly
Tero Rintaluoma [Fri, 4 Nov 2011 07:36:49 +0000 (09:36 +0200)]
Fix issue 374: eob read incorrectly

Updated eob changes to check_reset_2nd_coeffs function.

Change-Id: Id1b21c91c7f0fd286640b487ffe47867009b717d

13 years agoMerge "Change use of eob in the encoder"
Scott LaVarnway [Thu, 3 Nov 2011 15:06:06 +0000 (08:06 -0700)]
Merge "Change use of eob in the encoder"

13 years agoChange use of eob in the encoder
Tero Rintaluoma [Tue, 25 Oct 2011 11:25:11 +0000 (14:25 +0300)]
Change use of eob in the encoder

Changed 'int eob' to 'char *eob' in BLOCKD so that both encoder and
decoder will use eobs[25] array from MACROBLOCKD structure. In future,
this will enable use of the decoder side IDCT in the encoder.

Change-Id: I6e1c011628cb8864fd4a0b80f0279ce16a5ca978

13 years agoMerge "added code to clear 2nd order block when appropriate"
Yaowu Xu [Wed, 2 Nov 2011 15:22:58 +0000 (08:22 -0700)]
Merge "added code to clear 2nd order block when appropriate"

13 years agoMerge "Fix: Increase default cx_data_size"
John Koleszar [Tue, 1 Nov 2011 22:25:47 +0000 (15:25 -0700)]
Merge "Fix: Increase default cx_data_size"

13 years agoMerge "vpxenc: fix crash w/empty input file"
John Koleszar [Tue, 1 Nov 2011 21:49:23 +0000 (14:49 -0700)]
Merge "vpxenc: fix crash w/empty input file"

13 years agoChanging decoder input partition API to input fragments.
Stefan Holmer [Thu, 29 Sep 2011 07:17:09 +0000 (09:17 +0200)]
Changing decoder input partition API to input fragments.

Adding support for several partitions within one input fragment.
This is necessary to fully support all possible packetization
combinations in the VP8 RTP profile. Several partitions can
be transmitted in the same packet, and they can only be split
by reading the partition lengths from the bitstream.

Change-Id: If7d7ea331cc78cb7efd74c4a976b720c9a655463

13 years agoAdd checks in MB quantizer initialization
Yunqing Wang [Tue, 1 Nov 2011 20:20:00 +0000 (16:20 -0400)]
Add checks in MB quantizer initialization

In some situations (f.g. error-resilient is turned on), vp8cx_mb
_init_quantizer() was called once per macroblock. Added checks
to avoid calculations when there is no change.

Change-Id: Ie4f0a5ade2202041254990a4e9d5b03bd1ac5aea

13 years agovpxenc: fix crash w/empty input file
James Zern [Tue, 1 Nov 2011 20:44:00 +0000 (13:44 -0700)]
vpxenc: fix crash w/empty input file

Fixes issue #362.

Change-Id: Iba6d7e49ed610b44c8a4c0f3d6330a93feb0373d

13 years agoCorrect SPLITMV clamping
John Koleszar [Mon, 31 Oct 2011 21:42:51 +0000 (14:42 -0700)]
Correct SPLITMV clamping

Prior to this fix, the clamping state of the last subblock partition
dominated, whereas the correct behavior is to clamp if any partition
needs clamping. This bug was introduced by v0.9.6-232-g6b25501

See also:
  [1]: http://code.google.com/p/webm/issues/detail?id=371
  [2]: https://bugzilla.mozilla.org/show_bug.cgi?id=696390

Change-Id: I444db492b4c4f05f039c7da6f4216da8207dc138

13 years agoadded code to clear 2nd order block when appropriate
Yaowu Xu [Thu, 20 Oct 2011 19:32:34 +0000 (15:32 -0400)]
added code to clear 2nd order block when appropriate

It is discovered that in rare situations the 2nd order block may
produce a few small magnitude coefficients that has no effect on
reconstruction. The situations are a combination of low quantizer
values (high quality) and low energy in residual signals (content
dependent). This commit added code to detect such cases and reset
the 2nd order block to all 0.

Patch 1 to 4 used code to do all-zero-check on idct result buffer,
and tests on derf set showed a consistent gain of .12%-.14% on all
metrics.But due to a recent change Ie31d90b, the idct result buffer
is not longer populated. So patch 5&6 use an alternative method to
detect the situations. Tests on derf set now shows a consistent
quality gain of .16%-.20%.

As suggested by Jim, Patch 7&8 removed the condition of all first
order block not having any coefficient, instead we reset 2nd order
coefficients to all 0 if sum of absolute value of the coefficients
is small. So it does slightly more than just detecting the oddity
as discussed above, but tests on derf set now show a consistent
gain of .20%-.23% on all metrics.

It is worth noting here that this change does not have any effect
on mid/high quantizer range, it only affects the quantizer value
18 or blow. Within this range, the change helps compression by up
to 2.5% on clips in the derf set.

Change-Id: I718e19cf59a4fc2462cb7070832759beb9f7e7dd

13 years agoMerge "Improved decode_split_mv()"
Scott LaVarnway [Fri, 28 Oct 2011 16:27:17 +0000 (09:27 -0700)]
Merge "Improved decode_split_mv()"

13 years agoMerge "Fix ARM build problem introduced by CL I3fab6f2b"
Johann [Thu, 27 Oct 2011 18:17:54 +0000 (11:17 -0700)]
Merge "Fix ARM build problem introduced by CL I3fab6f2b"

13 years agoImproved decode_split_mv()
Scott LaVarnway [Thu, 27 Oct 2011 15:26:30 +0000 (11:26 -0400)]
Improved decode_split_mv()

Tests showed ~1.2% performance boost on the HD clip used.
Performance will vary based on material.

Change-Id: Icbcf1a828750d5b4ae5252bf596b3ef594042e8a

13 years agoMerge "Improved mv_bias"
Scott LaVarnway [Thu, 27 Oct 2011 13:14:00 +0000 (06:14 -0700)]
Merge "Improved mv_bias"

13 years agoFix ARM build problem introduced by CL I3fab6f2b
Attila Nagy [Thu, 27 Oct 2011 06:06:45 +0000 (09:06 +0300)]
Fix ARM build problem introduced by CL I3fab6f2b

Update ARM asm implementation of vp8_start_encode to new definition.

Change-Id: Ic44791c969e351082331ba6146c3384c01a0dfad

13 years agoMerge "Reduce partial frame copy in encoder's pick_filter_level_fast"
Johann [Wed, 26 Oct 2011 18:33:14 +0000 (11:33 -0700)]
Merge "Reduce partial frame copy in encoder's pick_filter_level_fast"

13 years agoImproved mv_bias
Scott LaVarnway [Wed, 26 Oct 2011 15:46:10 +0000 (11:46 -0400)]
Improved mv_bias

Small performance gains.

Change-Id: I709b9390a8a27a70f5f23574313b8db85ac7f23d

13 years agoMerge "Improved read_mb_modes_mv()"
Scott LaVarnway [Wed, 26 Oct 2011 15:26:30 +0000 (08:26 -0700)]
Merge "Improved read_mb_modes_mv()"

13 years agoImproved read_mb_modes_mv()
Scott LaVarnway [Wed, 26 Oct 2011 14:46:36 +0000 (10:46 -0400)]
Improved read_mb_modes_mv()

Interleaved vp8_find_near_mvs and vp8_mv_ref_probs.
2.5% to 4% performance improvement for the HD clips used.

Change-Id: Id888b667cf5ae2f0e19da18743140f055ff7de8d

13 years agoReduce partial frame copy in encoder's pick_filter_level_fast
Attila Nagy [Tue, 18 Oct 2011 06:48:50 +0000 (09:48 +0300)]
Reduce partial frame copy in encoder's pick_filter_level_fast

The partial frame copy function used to copy an extra 8 lines above
and  below. The partial frame filtering can only modify 3 pixel rows
above the partial frame. Reduce copy to bare minimum needed, which is
4 lines, so that partial filtering on copied frame is possible.

Define the "magic" fraction number for partial filtering in
loopfilter.h .

Change-Id: I4791ffc541b6884b12759a0d0714a8faf16147ec

13 years agoMerge "remove uninitialized variable warning"
Johann [Tue, 25 Oct 2011 21:42:21 +0000 (14:42 -0700)]
Merge "remove uninitialized variable warning"

13 years agoMerge "Improved token decoder"
Scott LaVarnway [Tue, 25 Oct 2011 17:04:11 +0000 (10:04 -0700)]
Merge "Improved token decoder"

13 years agoremove uninitialized variable warning
Johann [Mon, 24 Oct 2011 23:56:55 +0000 (16:56 -0700)]
remove uninitialized variable warning

Restructure if statement to clarify the error condition. Trigger the
error before clobbering pc-> variables.

Change-Id: Id01cab798a341ce9899078fdcec265a0e942a0b7

13 years agoMerge "Removed read_mv_ref"
Scott LaVarnway [Tue, 25 Oct 2011 15:01:32 +0000 (08:01 -0700)]
Merge "Removed read_mv_ref"

13 years agoMerge "remove unused variable warning"
James Zern [Tue, 25 Oct 2011 01:21:12 +0000 (18:21 -0700)]
Merge "remove unused variable warning"

13 years agoremove unused variable warning
Johann [Mon, 24 Oct 2011 23:33:45 +0000 (16:33 -0700)]
remove unused variable warning

Change-Id: I4fcd6e4656d9823aead941616cd63501aecbd6e2

13 years agoFix incorrect pointer definition
Johann [Mon, 24 Oct 2011 22:24:07 +0000 (15:24 -0700)]
Fix incorrect pointer definition

Global function pointers can not be defined in header files. Restructure
vpx_scale pointer configuration.

Change-Id: I6f568a263ad770d32f530abad6007f990fd1003a

13 years agoRemoved read_mv_ref
Scott LaVarnway [Mon, 24 Oct 2011 20:16:08 +0000 (16:16 -0400)]
Removed read_mv_ref

Decode the mv mode with if-then-elses instead of traversing
the vp8_mv_ref_tree data structure.  This will make it
easier to interleave vp8_find_near_mvs and vp8_mv_ref_probs.

Change-Id: I1e798d6ec40fcaeeff06ccc82f81201978d12f74

13 years agoMoved the split motion vector decode
Scott LaVarnway [Mon, 24 Oct 2011 17:52:15 +0000 (13:52 -0400)]
Moved the split motion vector decode

into a function.

Change-Id: Ia023a0587100a52cb084f5d9d5512efa6198dad3

13 years agoMerge "Removed redundant mv clamps for nearmv and nearestmv"
Scott LaVarnway [Mon, 24 Oct 2011 17:27:53 +0000 (10:27 -0700)]
Merge "Removed redundant mv clamps for nearmv and nearestmv"

13 years agoFix: Increase default cx_data_size
James Berry [Mon, 24 Oct 2011 15:50:27 +0000 (11:50 -0400)]
Fix: Increase default cx_data_size

Prior size could be too small in some instances
resulting in an error.

Change-Id: Ic601e49cbae92c98a0e7fb51ba8c186b352ffba6

13 years agoRemoved redundant mv clamps for nearmv and nearestmv
Scott LaVarnway [Mon, 24 Oct 2011 15:37:52 +0000 (11:37 -0400)]
Removed redundant mv clamps for nearmv and nearestmv

Did some cleanup as well.

Patchset 2:  Fixed bug.  Will revisit the segmentation logic.

Change-Id: Idf9fbcff9aaf467bdace9fbd58ef2cea6c602049

13 years agoMerge "Remove unused DETOK structure"
Scott LaVarnway [Fri, 21 Oct 2011 13:30:57 +0000 (06:30 -0700)]
Merge "Remove unused DETOK structure"

13 years agoRemove unused DETOK structure
Tero Rintaluoma [Thu, 20 Oct 2011 10:22:18 +0000 (13:22 +0300)]
Remove unused DETOK structure

DETOK structure is not used anymore.

Change-Id: Id22e1af78fb85d4bb151237a60290d9364faf217

13 years agoMerge "Add license text to configure generated files."
John Koleszar [Fri, 21 Oct 2011 00:44:26 +0000 (17:44 -0700)]
Merge "Add license text to configure generated files."

13 years agoMerge "Fix: check cx_data buffer prior to write"
John Koleszar [Fri, 21 Oct 2011 00:36:40 +0000 (17:36 -0700)]
Merge "Fix: check cx_data buffer prior to write"

13 years agoAdd license text to configure generated files.
Tom Finegan [Thu, 20 Oct 2011 02:47:02 +0000 (22:47 -0400)]
Add license text to configure generated files.

Applies to generated files with c, h, and mk extensions.

Change-Id: Id82c46673c7aad43e95a9de5058ddcfc6fd72f14

13 years agoFix: check cx_data buffer prior to write
James Berry [Wed, 12 Oct 2011 15:18:50 +0000 (11:18 -0400)]
Fix: check cx_data buffer prior to write

check to make sure that cx_data buffer has enough room before
writting to it, prior behavior did not which could result in a crash.

Change-Id: I3fab6f2bc4a96d7c675ea81acd39ece121738b28

13 years agoDon't copy borders for loop_filter_pick
Johann [Tue, 18 Oct 2011 01:21:10 +0000 (18:21 -0700)]
Don't copy borders for loop_filter_pick

During the _pick only the Y plane is examined. In addition, data beyond
the borders of the frame is not read.

Change-Id: Ic549adfca70fc6e0b55f8aab0efe81f0afac89f9

13 years agoMerge "Fix: NEON copy/extend frame for small sizes"
Johann [Wed, 19 Oct 2011 21:37:48 +0000 (14:37 -0700)]
Merge "Fix: NEON copy/extend frame for small sizes"

13 years agoMerge "enc: save entropy probs only when needed for refresh"
Johann [Wed, 19 Oct 2011 21:36:29 +0000 (14:36 -0700)]
Merge "enc: save entropy probs only when needed for refresh"

13 years agoImproved token decoder
Scott LaVarnway [Wed, 19 Oct 2011 17:38:35 +0000 (13:38 -0400)]
Improved token decoder

Tests showed over 2% improvement on various HD clips.

Change-Id: I94a30d209c92cbd5fef285122f9fc570688635fe

13 years agoMerge "Remove usage of predict buffer for decode"
Scott LaVarnway [Wed, 19 Oct 2011 17:24:48 +0000 (10:24 -0700)]
Merge "Remove usage of predict buffer for decode"

13 years agovpxenc: fix rollover in status output
James Zern [Wed, 19 Oct 2011 00:34:10 +0000 (17:34 -0700)]
vpxenc: fix rollover in status output

sizeof(unsigned long)=4 in 32-bit builds

Change-Id: I81c9d698c80ffaa332214e5b43e98b4e30cf9e88

13 years agoRemove usage of predict buffer for decode
Scott LaVarnway [Tue, 18 Oct 2011 16:06:50 +0000 (12:06 -0400)]
Remove usage of predict buffer for decode

Instead of using the predict buffer, the decoder now writes
the predictor into the recon buffer.  For blocks with eob=0,
unnecessary idcts can be eliminated.  This gave a performance
boost of ~1.8% for the HD clips used.

Tero: Added needed changes to ARM side and scheduled some
      assembly code to prevent interlocks.

Patch Set 6:  Merged (I1bcdca7a95aacc3a181b9faa6b10e3a71ee24df3)
into this commit because of similarities in the idct
functions.
Patch Set 7: EC bug fix.

Change-Id: Ie31d90b5d3522e1108163f2ac491e455e3f955e6

13 years agoMerge "Fix: vp8cx_pack_tokens_into_partitions_armv5 crash"
Johann [Mon, 17 Oct 2011 16:21:31 +0000 (09:21 -0700)]
Merge "Fix: vp8cx_pack_tokens_into_partitions_armv5 crash"

13 years agoFix: NEON copy/extend frame for small sizes
Attila Nagy [Fri, 14 Oct 2011 11:17:24 +0000 (14:17 +0300)]
Fix: NEON copy/extend frame for small sizes

NEON version of copyframeyonly, extendframeborders, copy_frame_func were
not working for plane stride < 128 and/or y_width < 128.

Change-Id: Id6c2e6c795274da0c90134b15c0d5f62d1b17a6c

13 years agoadd 32bit darwin10 (10.6) target
Johann [Fri, 14 Oct 2011 19:06:24 +0000 (12:06 -0700)]
add 32bit darwin10 (10.6) target

Change-Id: Id1c189350d54919be37f864dae91dee37584945a

13 years agoallow building for older platforms
Johann [Fri, 14 Oct 2011 19:03:32 +0000 (12:03 -0700)]
allow building for older platforms

Change-Id: Ibbd05e981debee12c16ebcd274150cd75a94a69d

13 years agoMerge "vpxdec updated to use !feof() instead of *buf_sz in readframe()"
John Koleszar [Fri, 14 Oct 2011 14:56:12 +0000 (07:56 -0700)]
Merge "vpxdec updated to use !feof() instead of *buf_sz in readframe()"

13 years agoFix: vp8cx_pack_tokens_into_partitions_armv5 crash
Attila Nagy [Fri, 14 Oct 2011 06:19:03 +0000 (09:19 +0300)]
Fix: vp8cx_pack_tokens_into_partitions_armv5 crash

It was crashing when number of partitions was bigger than the number
of MB rows (ex. 128x96 with 8 partitions).
Start point was not checked against mb_rows, plus extra
"empty" partitions were not written out.

Change-Id: I9c2f013b9ec022354b658fab4ef799ff8b1de93d

13 years agoBump ABI version number for temporal scalability
John Koleszar [Tue, 11 Oct 2011 19:57:17 +0000 (12:57 -0700)]
Bump ABI version number for temporal scalability

Commit 217591f modified the encoder ABI without incrementing the version number.

Change-Id: I74de01597dadcdcd96f6b817e4ec69d9ab535e4c

13 years agoMerge "Added rate-targeted temporal scalability"
Adrian Grange [Tue, 11 Oct 2011 19:54:52 +0000 (12:54 -0700)]
Merge "Added rate-targeted temporal scalability"

13 years agoAdded rate-targeted temporal scalability
Adrian Grange [Thu, 6 Oct 2011 22:49:11 +0000 (15:49 -0700)]
Added rate-targeted temporal scalability

Added the ability to create rate-targeted, temporally
scalable, VP8 compatible bitstreams.

The application vp8_scalable_patterns.c demonstrates how
to use this capability. Users can create output bitstreams
containing upto 5 temporally separable streams encoded
as a single VP8 bitstream.
(previously abandoned as:
I92d1483e887adb274d07ce9e567e4d0314881b0a)

Change-Id: I156250a3fe930be57c069d508c41b6a7a4ea8d6a

13 years agoReset FPU state after calc_plane_error()
John Koleszar [Tue, 11 Oct 2011 15:43:30 +0000 (08:43 -0700)]
Reset FPU state after calc_plane_error()

Fixes a MMX/SSE2 mismatch when building with --enable-internal-stats.

Change-Id: I0c50a1f246f6916b7a5fc6f36864ceb362f25520

13 years agobug fix - starting/optimal/max and buffer_level changed from int to int64_t
James Berry [Fri, 7 Oct 2011 19:42:23 +0000 (15:42 -0400)]
bug fix - starting/optimal/max and buffer_level changed from int to int64_t

buffer_level in VP8_COMP and starting_buffer_level, optimal_buffer_level
and maximum_buffer_size in VP8_CONFIG changed from int to int64_t
to avoid potential crash issues for larger target bit rates.

Change-Id: I0d5ab6c8a44c2fef51f30cd8df4bb4b739c5df26

13 years agoenc: save entropy probs only when needed for refresh
Attila Nagy [Mon, 10 Oct 2011 08:14:07 +0000 (11:14 +0300)]
enc: save entropy probs only when needed for refresh

Previous entropy probs need to be saved (and restored) only when
current updates are not propagated.

Change-Id: Ie6ee0543066e30874e56258be0a6b7d2dd2fdb2b

13 years agoMerge "Improved tokenize"
Scott LaVarnway [Tue, 4 Oct 2011 16:57:42 +0000 (09:57 -0700)]
Merge "Improved tokenize"

13 years agoMerge "Fix uninitialized new_mv_count in first pass file"
John Koleszar [Tue, 4 Oct 2011 14:40:49 +0000 (07:40 -0700)]
Merge "Fix uninitialized new_mv_count in first pass file"

13 years agoMerge "Multithreaded encoder, late sync loopfilter"
Yunqing Wang [Tue, 4 Oct 2011 14:04:30 +0000 (07:04 -0700)]
Merge "Multithreaded encoder, late sync loopfilter"

13 years agoFix uninitialized new_mv_count in first pass file
John Koleszar [Tue, 4 Oct 2011 13:50:40 +0000 (09:50 -0400)]
Fix uninitialized new_mv_count in first pass file

Uninitialized data could be written to the first pass file when no
motion vectors are present in the frame.

Also fix a number of compiler warnings.

Change-Id: Icc9f53b6d33da9de4563d86d9fd591910473ea90

13 years agoMerge "makefile: fix target 'all'"
John Koleszar [Mon, 3 Oct 2011 15:31:13 +0000 (08:31 -0700)]
Merge "makefile: fix target 'all'"

13 years agoMerge "Reduce computational complexity of generic C loop filter."
Johann [Fri, 30 Sep 2011 23:17:56 +0000 (16:17 -0700)]
Merge "Reduce computational complexity of generic C loop filter."

13 years agoMerge "combine loopfilter data access"
Johann [Fri, 30 Sep 2011 22:47:56 +0000 (15:47 -0700)]
Merge "combine loopfilter data access"

13 years agoImproved tokenize
Scott LaVarnway [Fri, 30 Sep 2011 16:49:46 +0000 (12:49 -0400)]
Improved tokenize

For a realtime HD encodings, up to 1.6% gains seen.

Change-Id: If45028e23db95124da63f9d38ffe06e05596cc6e