]> granicus.if.org Git - libvpx/log
libvpx
12 years agofix uninitialized value in multi-res encoding
John Koleszar [Wed, 3 Oct 2012 21:52:56 +0000 (14:52 -0700)]
fix uninitialized value in multi-res encoding

If a parent mb is available but is intra coded, then parent_ref_mv is
invalid. Check that the parent is inter coded before trying to access
the parent_ref_mv. Previously the parent_ref_mv was being read from
an uninitialized stack allocation, causing potential OOB reads and
other undefined behavior.

Change-Id: I0c93cd412a19c3a184bcf6decaa145b3a036a6c0

12 years agoMerge "Added Reset method to TwopassStatsStore"
Adrian Grange [Wed, 3 Oct 2012 20:45:46 +0000 (13:45 -0700)]
Merge "Added Reset method to TwopassStatsStore"

12 years agoMerge "rtcd/win32: use InitializeCriticalSection explicitly"
John Koleszar [Wed, 3 Oct 2012 19:51:29 +0000 (12:51 -0700)]
Merge "rtcd/win32: use InitializeCriticalSection explicitly"

12 years agoAdded Reset method to TwopassStatsStore
Adrian Grange [Tue, 2 Oct 2012 16:36:41 +0000 (09:36 -0700)]
Added Reset method to TwopassStatsStore

The stats buffer needs to be reset between runs of the
encoder. I added a Reset() function to TwopassStatsStore
and called it at the beginning of each encode.

This enables us to run multiple encodes which was
previously not possible since there was no way to reset
the stats between runs.

Change-Id: Iebb18dab83ba9331f009f764cc858609738a27f9

12 years agortcd/win32: use InitializeCriticalSection explicitly
John Koleszar [Mon, 24 Sep 2012 21:52:18 +0000 (14:52 -0700)]
rtcd/win32: use InitializeCriticalSection explicitly

Protect the call to {Initialize,Delete}CriticalSection() with an
Interlocked{Inc,Dec}rement() pair, rather than the previous static
initialization. This should play better with AppVerifier, and fix issue

  http://code.google.com/p/webm/issues/detail?id=467

Change-Id: I06eadbfac1b3b4414adb8eac862ef9bd14bbe4ad

12 years agoMerge "Added unit test for subtract functions"
John Koleszar [Wed, 3 Oct 2012 15:17:16 +0000 (08:17 -0700)]
Merge "Added unit test for subtract functions"

12 years agoDisable keyframe in real time that's placed one frame after a cut.
Jim Bankoski [Mon, 1 Oct 2012 21:17:43 +0000 (14:17 -0700)]
Disable keyframe in real time that's placed one frame after a cut.

The codec as it stood placed a keyframe one frame after a
real cut scene - and ignored datarate and other considerations.

TODO: Its possible that we should detect a keyframe and recode
the frame ( in certain circumstances) to improve quality.

Change-Id: Ia1fd6d90103f4da4d21ca5ab62897d22e0b888a8

12 years agoResetting of the cyclic_refresh_mode_index:
Marco Paniconi [Thu, 27 Sep 2012 21:30:40 +0000 (14:30 -0700)]
Resetting of the cyclic_refresh_mode_index:

Reset the cyclie refresh mode index in alloc_compressor_data().
This is needed to handle both cases of internal and
external spatial resizing.

Change-Id: I2697e12d45135eae2e8f0d45161811f24722312a

12 years agoReset the cyclic_refresh_mode_index to 0 on resize.
Marco Paniconi [Wed, 26 Sep 2012 22:42:36 +0000 (15:42 -0700)]
Reset the cyclic_refresh_mode_index to 0 on resize.

On an internal spatial resize, this mode index was not reset to 0,
and therefore could exceed dimensions of seg_map or cyclic_refresh_map.

Change-Id: I6fe85dbd2765eb0207a9d9f71fda8d8b8c34f075

12 years agoAdded unit test for subtract functions
Scott LaVarnway [Wed, 26 Sep 2012 20:45:53 +0000 (13:45 -0700)]
Added unit test for subtract functions

Patch Set 1: gain familiarity with unit tests... added simple
4x4 subtract test
Patch Set 2: fixed mistakes, parameterized as suggested
Patch Set 3: randomized the source/predictor data

Change-Id: I33432bdf7c9f2a9b8c2533a37106382c2a8209ee
Signed-off-by: Scott LaVarnway <slavarnway@google.com>
12 years agoMerge "check for x32 targets"
John Koleszar [Tue, 25 Sep 2012 18:32:11 +0000 (11:32 -0700)]
Merge "check for x32 targets"

12 years agoMerge "update gitignores"
John Koleszar [Tue, 25 Sep 2012 18:25:53 +0000 (11:25 -0700)]
Merge "update gitignores"

12 years agoupdate gitignores
Mike Frysinger [Tue, 25 Sep 2012 18:11:13 +0000 (14:11 -0400)]
update gitignores

Change-Id: I67bf154e35fa02b407a9b2c312a536d6bb2aaaf2

12 years agoMerge "disable segmentation on enhancement layers"
Jim Bankoski [Tue, 25 Sep 2012 17:49:25 +0000 (10:49 -0700)]
Merge "disable segmentation on enhancement layers"

12 years agocheck for x32 targets
Mike Frysinger [Tue, 25 Sep 2012 04:37:11 +0000 (00:37 -0400)]
check for x32 targets

Add configure detection of the new x32 ABI as well as support in asm.

Change-Id: Ic66a069599adeb81062090e3f11b71ee1fb97cb8

12 years agoMerge "Move frame allocations out of vp8_decode_frame()"
Scott LaVarnway [Mon, 24 Sep 2012 23:15:54 +0000 (16:15 -0700)]
Merge "Move frame allocations out of vp8_decode_frame()"

12 years agoMerge "Removed bc and bc2 vp8_readers from VP8D_COMP"
Scott LaVarnway [Mon, 24 Sep 2012 20:50:30 +0000 (13:50 -0700)]
Merge "Removed bc and bc2 vp8_readers from VP8D_COMP"

12 years agoMove frame allocations out of vp8_decode_frame()
Scott LaVarnway [Mon, 24 Sep 2012 19:44:45 +0000 (12:44 -0700)]
Move frame allocations out of vp8_decode_frame()

in order to make it easier to implement the frame-base multithreading.

Change-Id: Iea2fd05be34fa704848fdc7669bf167f2ed229c5

12 years agortcd/win32: prefer win32 primatives to pthreads
John Koleszar [Mon, 24 Sep 2012 18:47:35 +0000 (11:47 -0700)]
rtcd/win32: prefer win32 primatives to pthreads

Fixes some build issues for people building for win32 who have a
pthreads emulation layer installed.

Change-Id: I0e0003fa01f65020f6ced35d961dcb1130db37a8

12 years agodisable segmentation on enhancement layers
Jim Bankoski [Mon, 24 Sep 2012 14:53:26 +0000 (07:53 -0700)]
disable segmentation on enhancement layers

This should avoid problems with blocks gettings high quality
improvement despite having recently moved:

Change-Id: Ic0af0de2d6577807fa3c553f47b55d547ef36359

12 years agoUpdate to cyclic refresh:
Marco Paniconi [Mon, 24 Sep 2012 03:56:49 +0000 (20:56 -0700)]
Update to cyclic refresh:

Set the seg map to 0 for key frame.

In previous commit on cyclic refresh, the seg map for key frame
was not reset, and instead used the seg map from last frame.

Change-Id: I848eb2face420dfcd2f7daca6f070b9127ca938b

12 years agoUpdate to cyclic refresh.
Marco Paniconi [Sat, 22 Sep 2012 01:54:11 +0000 (18:54 -0700)]
Update to cyclic refresh.

-Increase the amount of mbs to be refreshed.
-Replace the delta qp with a fixed and reduced delta.
-Change to the mb update loop to try to always update same amount of mbs.

Change-Id: I93ac88002fd8dc677d2337f77998ff93f64e4ff9

12 years agoRemoved bc and bc2 vp8_readers from VP8D_COMP
Scott LaVarnway [Fri, 21 Sep 2012 18:00:29 +0000 (11:00 -0700)]
Removed bc and bc2 vp8_readers from VP8D_COMP

Used mbc instead.

Change-Id: If22136b4fee89b68ca2246265f3c27853701136c

12 years agoMoved vp8dx_get_raw_frame() call to vp8_get_frame()
Scott LaVarnway [Wed, 19 Sep 2012 19:30:44 +0000 (12:30 -0700)]
Moved vp8dx_get_raw_frame() call to vp8_get_frame()

This change is necessary for the frame-based multithreading
implementation.
Since the postproc occurs in this call, vpxdec was modified to time around
vpx_codec_get_frame()

Change-Id: I389acf78b6003cd35e41becc16c893f7d3028523

12 years agoMerge "Changed setup intra recon to be row based"
Scott LaVarnway [Mon, 17 Sep 2012 23:07:08 +0000 (16:07 -0700)]
Merge "Changed setup intra recon to be row based"

12 years agoMerge "Update to 2 layer case in vp8_scalable_patterns."
Adrian Grange [Mon, 17 Sep 2012 20:40:07 +0000 (13:40 -0700)]
Merge "Update to 2 layer case in vp8_scalable_patterns."

12 years agoMerge "Moved mb_no_coeff_skip flag read"
Scott LaVarnway [Mon, 17 Sep 2012 20:08:38 +0000 (13:08 -0700)]
Merge "Moved mb_no_coeff_skip flag read"

12 years agoMerge "Removed pre_mvc"
Scott LaVarnway [Mon, 17 Sep 2012 20:08:18 +0000 (13:08 -0700)]
Merge "Removed pre_mvc"

12 years agoUpdate to 2 layer case in vp8_scalable_patterns.
Marco Paniconi [Mon, 17 Sep 2012 18:57:51 +0000 (11:57 -0700)]
Update to 2 layer case in vp8_scalable_patterns.

Change-Id: I11aa90be41dd585c9784301f47a9d580fac09260

12 years agoUpdate to vp8_scalable_patters.
Marco Paniconi [Fri, 14 Sep 2012 19:07:02 +0000 (12:07 -0700)]
Update to vp8_scalable_patters.

Change-Id: I43ea65bf0a35ddb33a096a392e10b1869ea73f9a

12 years agoMerge "Updates to vp8_scalable_patterns.c."
Adrian Grange [Fri, 14 Sep 2012 16:49:06 +0000 (09:49 -0700)]
Merge "Updates to vp8_scalable_patterns.c."

12 years agoMoved mb_no_coeff_skip flag read
Scott LaVarnway [Thu, 13 Sep 2012 20:37:24 +0000 (13:37 -0700)]
Moved mb_no_coeff_skip flag read

from vp8_decode_frame() to mb_mode_mv_init()

Change-Id: I267fd764a4c826d62e6799dceb1b8fb5f97fde6d

12 years agoRemoved pre_mvc
Scott LaVarnway [Thu, 13 Sep 2012 18:55:57 +0000 (11:55 -0700)]
Removed pre_mvc

Not used.

Change-Id: Ifbd97c9ad537d5184f7e305fa8acf6f027978b6b

12 years agoChanged setup intra recon to be row based
Scott LaVarnway [Thu, 13 Sep 2012 18:51:27 +0000 (11:51 -0700)]
Changed setup intra recon to be row based

Initialize the top line at the beginning of each frame and
the left column at the beginning of each row.

Change-Id: I5412f7ea49ffc490215cf65a62715a6c5e3a5a29

12 years agoMerge "valgrind found motion vectors which exceeded frame boundaries"
Jim Bankoski [Wed, 12 Sep 2012 20:50:29 +0000 (13:50 -0700)]
Merge "valgrind found motion vectors which exceeded frame boundaries"

12 years agofix valgrind mem leak on garbage decode
Jim Bankoski [Tue, 11 Sep 2012 23:30:19 +0000 (16:30 -0700)]
fix valgrind mem leak on garbage decode

Multiple decoders were getting allocated per frame.
If the decoder crashed we exitted with out freeing
them and the next time in we'd allocate over.

This fix removes the allocation and just has 8
boolcoders in the pbi structure

Change-Id: I638b5bda23b622b43b7992aec21dd7cf6f6278da

12 years agoUpdates to vp8_scalable_patterns.c.
Marco Paniconi [Tue, 11 Sep 2012 20:15:51 +0000 (13:15 -0700)]
Updates to vp8_scalable_patterns.c.

Updated/added a few cases of temporal patterns,
and some changes to the encoder settings.

Change-Id: Idaa75cfc4a26e5b6321f273ef9450b5c85368a4d

12 years agovalgrind found motion vectors which exceeded frame boundaries
Scott LaVarnway [Tue, 11 Sep 2012 16:14:02 +0000 (09:14 -0700)]
valgrind found motion vectors which exceeded frame boundaries

Bug introduced in I02d034c70cd97b65025d59dd67c695e1db529f0b

Change-Id: Ifb74ab659f3b3cf5f5b95046bacffb202d5b4d64

12 years agovalgrind caught uninitialized cond
Jim Bankoski [Fri, 7 Sep 2012 23:38:15 +0000 (16:38 -0700)]
valgrind caught uninitialized cond

If the decoder crashes and returned an error before it set up
block offsets but after it set up frame buffers.   We had a
problem decoding the next keyframe because the block offsets
were never set.

Change-Id: Ied2866e9770d80fc66241d5e0d978d4f5f9cdd89

12 years agoMerge "added encode/decode matching validation to tests"
Yaowu Xu [Thu, 6 Sep 2012 16:28:17 +0000 (09:28 -0700)]
Merge "added encode/decode matching validation to tests"

12 years agoAdjusting thresholds in mfqe post-processing
Deb Mukherjee [Tue, 4 Sep 2012 19:09:05 +0000 (12:09 -0700)]
Adjusting thresholds in mfqe post-processing

Adjusts some of the qualification thresholds in mfqe to eliminate
artifacts due to wrong decisions. Besides, a new qualification
criteria is used to disable mfqe if the quality of the previous
frame is itself not too good.

Change-Id: I4097c20b7fd4fcc60cc3003c1e33e8faae2ff066

12 years agoMerge "Encoder denoiser performance improvement"
Yunqing Wang [Fri, 31 Aug 2012 20:51:30 +0000 (13:51 -0700)]
Merge "Encoder denoiser performance improvement"

12 years agoEncoder denoiser performance improvement
Yunqing Wang [Fri, 10 Aug 2012 19:35:55 +0000 (12:35 -0700)]
Encoder denoiser performance improvement

The denoiser function was modified to reduce the computational
complexity.

1. The denoiser c function modification:
The original implementation calculated pixel's filter_coefficient
based on the pixel value difference between current raw frame and last
denoised raw frame, and stored them in lookup tables. For each pixel c,
find its coefficient using
    filter_coefficient[c] = LUT[abs_diff[c]];
and then apply filtering operation for the pixel.

The denoising filter costed about 12% of encoding time when it was
turned on, and half of the time was spent on finding coefficients in
lookup tables. In order to simplify the process, a short cut was taken.
The pixel adjustments vs. pixel diff value were calculated ahead of time.
    adjustment = filtered_value - current_raw
               = (filter_coefficient * diff + 128) >> 8

The adjustment vs. diff curve becomes flat very quick when diff increases.
This allowed us to use only several levels to get a close approximation
of the curve. Following the denoiser algorithm, the adjustments are
further modified according to how big the motion magnitude is.

2. The sse2 function was rewritten.

This change made denoiser filter function 3x faster, and improved the
encoder performance by 7% ~ 10% with the denoiser on.

Change-Id: I93a4308963b8e80c7307f96ffa8b8c667425bf50

12 years agoadded encode/decode matching validation to tests
Yaowu Xu [Thu, 30 Aug 2012 20:43:15 +0000 (13:43 -0700)]
added encode/decode matching validation to tests

This commit adds the ability of validating matched encoder and
decoder to unit tests.

Change-Id: Ie00d69a42477b6a69b324a6bd134939684f7300b

12 years agoMerge "msvs/tests: fix data alignment for asm tests"
John Koleszar [Fri, 31 Aug 2012 17:50:01 +0000 (10:50 -0700)]
Merge "msvs/tests: fix data alignment for asm tests"

12 years agomsvs/tests: fix data alignment for asm tests
James Zern [Tue, 28 Aug 2012 00:13:09 +0000 (17:13 -0700)]
msvs/tests: fix data alignment for asm tests

Replace DECLARE_ALIGNED_ with vpx_memalign()

DECLARE_ALIGNED (__declspec(align())) does not work as intended when
used on class data members:

Data in classes or structures is aligned within the class or structure
at the minimum of its natural alignment and the current packing setting
(from #pragma pack or the /Zp compiler option)

Change-Id: I304aaa6c3716fbfae24675ecf192f4b40787e83e

12 years agoMerge "silent one more compiler warning"
Yaowu Xu [Tue, 28 Aug 2012 14:03:19 +0000 (07:03 -0700)]
Merge "silent one more compiler warning"

12 years agosilent one more compiler warning
Yaowu Xu [Tue, 28 Aug 2012 13:33:24 +0000 (06:33 -0700)]
silent one more compiler warning

Change-Id: I621a2bbd5f07691fa76dac36b65f406ad4fed792

12 years agoMerge "Added error checking to vp8cx_create_encoder_threads()"
Scott LaVarnway [Thu, 23 Aug 2012 20:55:06 +0000 (13:55 -0700)]
Merge "Added error checking to vp8cx_create_encoder_threads()"

12 years agoMerge "Added row based extend borders"
Scott LaVarnway [Thu, 23 Aug 2012 00:23:28 +0000 (17:23 -0700)]
Merge "Added row based extend borders"

12 years agoMerge "Add biasing to ZEROMV for videos with static background"
Jim Bankoski [Tue, 21 Aug 2012 22:56:59 +0000 (15:56 -0700)]
Merge "Add biasing to ZEROMV for videos with static background"

12 years agoMerge "Removed unused dr from VP8D_COMP"
Scott LaVarnway [Tue, 21 Aug 2012 22:20:14 +0000 (15:20 -0700)]
Merge "Removed unused dr from VP8D_COMP"

12 years agoMerge "Removed last_kf_gf_q"
Scott LaVarnway [Tue, 21 Aug 2012 22:19:58 +0000 (15:19 -0700)]
Merge "Removed last_kf_gf_q"

12 years agoAdd biasing to ZEROMV for videos with static background
Yunqing Wang [Tue, 21 Aug 2012 17:52:35 +0000 (10:52 -0700)]
Add biasing to ZEROMV for videos with static background

For videos with big static background(such as video conferencing
clips), the mode decision was biased to ZEROMV in order to
obtain a stable background. The percentage of ZEROMV on last
frame was used to predict if there is static area in current frame,
and checking already-encoded neighboring macroblocks' motion
vectors to make sure the local area has low motion.

Change-Id: I05b3241d3a56a0bda88b6681e5646c1c8baf2e57

12 years agoMerge "sad_test: fix msvc build"
James Zern [Tue, 21 Aug 2012 20:33:46 +0000 (13:33 -0700)]
Merge "sad_test: fix msvc build"

12 years agoMerge "sixtap_predict_test: fix msvc build"
James Zern [Tue, 21 Aug 2012 20:32:17 +0000 (13:32 -0700)]
Merge "sixtap_predict_test: fix msvc build"

12 years agobuild: hide msvs project command in non-verbose mode
James Zern [Wed, 15 Aug 2012 18:47:13 +0000 (11:47 -0700)]
build: hide msvs project command in non-verbose mode

Change-Id: Id1d0deb6a2c556a0213d916c2638ef6285c2eb00

12 years agoMerge "fix msvc configure"
James Zern [Tue, 21 Aug 2012 20:26:29 +0000 (13:26 -0700)]
Merge "fix msvc configure"

12 years agoAdded row based extend borders
Scott LaVarnway [Tue, 21 Aug 2012 19:42:49 +0000 (12:42 -0700)]
Added row based extend borders

Required for frame-based multithreading

Change-Id: I361ec468b5bda7836116c5f0bf3a83f60c214a73

12 years agovpx.pc: move -lm to Libs.private
John Koleszar [Tue, 21 Aug 2012 17:54:30 +0000 (10:54 -0700)]
vpx.pc: move -lm to Libs.private

Users of libvpx should not use libm transitively, so mark it as private.

Change-Id: Ic940aefe737a6f9a780ea742ea5c6be40c30a73e

12 years agoMerge "Fix inter_zz_count calculation bug"
Yunqing Wang [Tue, 21 Aug 2012 16:28:10 +0000 (09:28 -0700)]
Merge "Fix inter_zz_count calculation bug"

12 years agosad_test: fix msvc build
James Zern [Wed, 15 Aug 2012 18:54:41 +0000 (11:54 -0700)]
sad_test: fix msvc build

pass a variable to make_tuple() rather than a function, fixes type
errors

Change-Id: Ic0cbd25d0ca35ad08c672040b4141b3b81695752

12 years agosixtap_predict_test: fix msvc build
James Zern [Wed, 15 Aug 2012 18:54:41 +0000 (11:54 -0700)]
sixtap_predict_test: fix msvc build

pass a variable to make_tuple() rather than a function, fixes type
errors

Change-Id: I5e04b61b5ab58cc0090ef21119486ca04853af61

12 years agoMerge "Added row based loopfilter"
Jim Bankoski [Tue, 21 Aug 2012 13:02:31 +0000 (06:02 -0700)]
Merge "Added row based loopfilter"

12 years agoFix inter_zz_count calculation bug
Yunqing Wang [Tue, 21 Aug 2012 00:31:44 +0000 (17:31 -0700)]
Fix inter_zz_count calculation bug

The current way of counting inter_zz_count doesn't work correctly
in multi-threaded encoding. Calculating it after the frame is
encoded fixed the problem.

Change-Id: Ifcb1972cde950b8cc194f75c6d7b6af09e8b0e65

12 years agoMerge "realtime turndown loopfilter for 00"
Yaowu Xu [Mon, 20 Aug 2012 20:44:56 +0000 (13:44 -0700)]
Merge "realtime turndown loopfilter for 00"

12 years agoMerge "static threshold fix for realtime"
Yaowu Xu [Mon, 20 Aug 2012 20:40:53 +0000 (13:40 -0700)]
Merge "static threshold fix for realtime"

12 years agorealtime turndown loopfilter for 00
Jim Bankoski [Mon, 20 Aug 2012 20:04:53 +0000 (13:04 -0700)]
realtime turndown loopfilter for 00

Loop filter producing wierd artifacts when
repeatedly applied in noisy video.   This
mitigates the effect.

Change-Id: If4b1a8543912d186a486f84e11d8b01f7436fa5f

12 years agostatic threshold fix for realtime
Jim Bankoski [Mon, 20 Aug 2012 19:58:31 +0000 (12:58 -0700)]
static threshold fix for realtime

This code allows us to skip encoding if the sse
is less than the error we could possibly encode.

Change-Id: Iefb590dc0ee30b660495218398c7969f7d5fd19f

12 years agosilent compiling warnings for VC9 build
Yaowu Xu [Fri, 17 Aug 2012 17:05:35 +0000 (10:05 -0700)]
silent compiling warnings for VC9 build

Change-Id: Iaa947e640f27e6f6eaf7d845f243536bca2df513

12 years agofix msvc configure
James Zern [Wed, 15 Aug 2012 18:45:12 +0000 (11:45 -0700)]
fix msvc configure

visual studio targets do not depend on executables, only the projects
produced.
tested with --target=x86-win32-vs9
fixes:
...
make[1]: *** No rule to make target `test_libvpx', needed by `.bins'.
Stop.
Makefile:17: recipe for target `.DEFAULT' failed

Change-Id: I606ab32d5e26fee352f25c822e0f496eff165382

12 years agoParse out arm isa targets from dumpmachine
Mike Frysinger [Wed, 15 Aug 2012 15:55:31 +0000 (11:55 -0400)]
Parse out arm isa targets from dumpmachine

The current parsing logic of the dumpmachine tuple lacks any arm
cases which means tgt_isa never gets set, so for all arm targets,
we get detected as generic-gnu.  Add some basic arm checks here
so the automatic detection logic works.

Change-Id: Ie5e98142876025c6708604236bc519c0bdb09319

12 years agoAdded error checking to vp8cx_create_encoder_threads()
Scott LaVarnway [Tue, 14 Aug 2012 19:00:23 +0000 (12:00 -0700)]
Added error checking to vp8cx_create_encoder_threads()

Added checks for pthread_create() errors.

Change-Id: Ie198ef5c14314fe252d2e02f7fe5bfacc7e16377

12 years agodo not error out on generic-gnu + --enable-shared
Mike Frysinger [Tue, 14 Aug 2012 18:24:28 +0000 (14:24 -0400)]
do not error out on generic-gnu + --enable-shared

If you build with --enabled-shared on a Linux arch not explicitly
listed, the configure script will abort because it didn't detect
"linux" in the fallback generic-gnu tuple.

Since this is the fallback tuple and people are passing
--enable-shared, assume the user knows what they're in for.

Change-Id: Ia35b657e7247c8855e3a94fca424c9884d4241e3

12 years agoMerge "vpx.pc: add missing library for static links"
John Koleszar [Thu, 9 Aug 2012 16:10:55 +0000 (09:10 -0700)]
Merge "vpx.pc: add missing library for static links"

12 years agoconfigure: check for pthreads building on windows with gcc
Andoni Morales Alastruey [Thu, 9 Aug 2012 10:54:09 +0000 (12:54 +0200)]
configure: check for pthreads building on windows with gcc

Change-Id: I737361fa9911c11017af971a80c2ffad20b01d03

12 years agovpx.pc: add missing library for static links
Andoni Morales Alastruey [Thu, 9 Aug 2012 10:29:16 +0000 (12:29 +0200)]
vpx.pc: add missing library for static links

Change-Id: Ic4be3145e8a90d66aa4499416094bd08a9e09af4

12 years agofix timestamp calculation rollover w/altref
James Zern [Wed, 8 Aug 2012 00:12:10 +0000 (17:12 -0700)]
fix timestamp calculation rollover w/altref

using large values for the timebase, e.g., {33333, 1000000} could
rollover the timestamp calculation in vp8e_encode as it was not using
64-bit math.

originally reported on ffmpeg's trac:
  https://ffmpeg.org/trac/ffmpeg/ticket/1014

BUG=468

Change-Id: Iedb4e11de086a3dda75097bfaf08f2488e2088d8

12 years agoEncoderTest: check that timestamps are monotonic
James Zern [Wed, 8 Aug 2012 21:16:08 +0000 (14:16 -0700)]
EncoderTest: check that timestamps are monotonic

Change-Id: I813fa94c83df6282f382b24bbaccb1fe2fa94276

12 years agoMerge "tests: fix Continue() signatures"
John Koleszar [Wed, 8 Aug 2012 18:24:42 +0000 (11:24 -0700)]
Merge "tests: fix Continue() signatures"

12 years agoMerge "keyframe_test: use a fixed speed step for realtime"
John Koleszar [Wed, 8 Aug 2012 18:23:49 +0000 (11:23 -0700)]
Merge "keyframe_test: use a fixed speed step for realtime"

12 years agoUpdate armv6 vp8_intra4x4_predict
Johann [Thu, 2 Aug 2012 23:09:12 +0000 (16:09 -0700)]
Update armv6 vp8_intra4x4_predict

Change-Id: I52a3b0a4a42e5af91b987e19523df07c8f467847

12 years agotests: fix Continue() signatures
James Zern [Wed, 8 Aug 2012 00:44:33 +0000 (17:44 -0700)]
tests: fix Continue() signatures

they're const member functions, they need to match the base class to be
called

Change-Id: Id0580c5078b5876ead6731d95d8b86fef4029c40

12 years agoMerge "Fix encoder mem allocation when picture size is changed"
Attila Nagy [Fri, 3 Aug 2012 05:29:51 +0000 (22:29 -0700)]
Merge "Fix encoder mem allocation when picture size is changed"

12 years agoMerge "Fix potential encoder dead-lock after picture resize"
Attila Nagy [Fri, 3 Aug 2012 05:29:38 +0000 (22:29 -0700)]
Merge "Fix potential encoder dead-lock after picture resize"

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 agoRemoved last_kf_gf_q
Scott LaVarnway [Thu, 2 Aug 2012 19:02:36 +0000 (12:02 -0700)]
Removed last_kf_gf_q

Not used.

Change-Id: I7595cb21db73bd56ee4d9280ecb7ab9b1240f4e2

12 years agoAdded row based loopfilter
Scott LaVarnway [Thu, 2 Aug 2012 18:58:09 +0000 (11:58 -0700)]
Added row based loopfilter

Interleaved loopfiltering with decode.  For 1080p clips, up to 1%
performance gain.  For 4k clips, up to 10% seen.  This patch is required
for better "frame-based" multithreading.

Change-Id: Ic834cf32297cc04f27e8205652fb9f70cbe290db

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 agoFix potential encoder dead-lock after picture resize
Attila Nagy [Tue, 31 Jul 2012 11:04:45 +0000 (14:04 +0300)]
Fix potential encoder dead-lock after picture resize

The sync interval for the multithreaded encoder was considered as not changing
during the encoding. This is not true if picture size is changed.
The encoder could dead-lock because the main thread and the other threads were
using different sync interval.

Change-Id: I75232bbdbc6c02d77f830d870fd8b4e96697c64e

12 years agoFix encoder mem allocation when picture size is changed
Attila Nagy [Tue, 31 Jul 2012 08:52:10 +0000 (11:52 +0300)]
Fix encoder mem allocation when picture size is changed

After the picture size was changed to a bigger one, the internal memory was
corrupted and multithreaded encoder was deadlocking.

Memory for last frame's MVs, segmentation map and active map were allocated when
the compressor was created (vp8_create_compressor). Buffers need to be
reallocated when picture size is changed, so, the allocation was moved to
vp8_alloc_compressor_data, which is called every time the picture is resized.

Change-Id: I7ce16b8e69bbf0386d7997df57add155aada2240

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