Age | Commit message (Collapse) | Author |
|
|
|
Adds various high bitdepth transform functions and tests.
Much of the changes are related to using typedefs tran_low_t
and tran_high_t for the final transform cofficients and intermediate
stages of the transform computation respectively rather than fixed
types int16_t/int. When vp9_highbitdepth configure flag is off,
these map tp int16_t/int32_t, but when the flag is on, they map
to int32_t/int64_t to make space for needed extra precision.
Change-Id: I3c56de79e15b904d6f655b62ffae170729befdd8
|
|
Moves high bit depth sad/var functions from highbitdepth
branch to master.
Change-Id: If03845d8ef9c9c494e13350e7a587c289306b94d
|
|
|
|
If optimizations use more than one cpu feature, allow
specifying them so that '--disable-X' still works
https://code.google.com/p/webm/issues/detail?id=854
Change-Id: I3108ea37b397371a2be84dd5f2380b304db23f18
|
|
Change-Id: Ifaf6738f26e86ded6eb6ea1465bad7a229612999
|
|
|
|
* changes:
vp9_dthread: simplify loop_filter_row_worker signature
simplify vp9_loop_filter_worker signature
vp9_decodeframe: simplify tile_work_hook signature
|
|
|
|
'frame_buffer' is modified indirectly via 'planes'.
+ do the same for vp9_loop_filter_rows
Change-Id: Ibb7daa2e261064e4a5317a2969e3490e59891b82
|
|
use the type names directly in the function declaration rather than
(void *arg1, void *arg2)
Change-Id: I36bfc9c886310ce370bf0ca7c679ebd6e95109cc
|
|
Change-Id: Ifae8906185a868a07685eb7a7da2484af95e70a7
|
|
Change-Id: If91017b792572c9db6e257011ca307bef8428486
|
|
|
|
|
|
Removed functions:
* vp9_post_proc_down_and_across_mmx
* vp9_mbpost_proc_down_mmx
* vp9_plane_add_noise_mmx
They all have sse2 equivalent.
Change-Id: I59c1fac12b7c96ca4538d455e4400c2b7875feff
|
|
vp9_variance_sse2.c contains a mix of intrinsics and references to
assembly which uses x86inc.asm; it's conditionally included as a result.
Change-Id: I254451483a65881c0b8e18e27bf0c3ddef60c4ec
|
|
Change-Id: Ia5e383e2cf18052f6f1eacf8b9495ab8e4d58878
|
|
Change-Id: I6786d25ce4f32b8d8912f2d239a45ca15b310c4b
|
|
Change-Id: I0a9d52432f2500f1bd8f43f229e70e38bb9a0343
|
|
|
|
Removed functions:
* vp9_sad_16x16_mmx
* vp9_sad_8x16_mmx
* vp9_sad_16x8_mmx
* vp9_sad_8x8_mmx
* vp9_sad_4x4_mmx
Change-Id: Ic5174b93b64d65d846f0c11e72cab149e9472bc3
|
|
Adds config parameter vp9_highbitdepth, to support highbitdepth profiles.
Also includes most vpx level high bit-depth functions. However
encode/decode in the highbitdepth profiles will not work until
the rest of the code is in place.
Change-Id: I34c53b253c38873611057a6cbc89a1361b8985a6
|
|
Removed functions:
* vp9_mse16x16_mmx
* vp9_get_mb_ss_mmx
* vp9_get4x4var_mmx
* vp9_get8x8var_mmx
* vp9_variance4x4_mmx
* vp9_variance8x8_mmx
* vp9_variance16x16_mmx
* vp9_variance16x8_mmx
* vp9_variance8x16_mmx
They all have SSE2 equivalent.
Change-Id: I3796f2477c4f59b35b4828f46a300c16e62a2615
|
|
|
|
Change-Id: Ia3be6b5a18e1ff6cc5c5f4d37e4a5d0972388308
|
|
Change-Id: I6d77a7c775c0482fd1f9bb03ea6f336dd2973fa0
|
|
|
|
|
|
|
|
In the current implementation of the encoder,
frame buffers may come from the wider set of
12 such buffers, and is not restricted to the
8 allowed as reference frames. This is only
an implementation detail and does not affect
the constraint of having a total of 8 reference
buffers overall.
Change-Id: I075f777146c2df49c275d89232933f8127235175
|
|
The test to determine if the mode info buffers need
to be resized when the frame size changes was
incorrect, as per bug 837.
By storing the size of the allocated data structure,
a simple test determines whether to allocate more
memory when the frame size changes.
Change-Id: I1544698f2882cf958fc672485614f2f46e9719bd
|
|
|
|
|
|
'ref_frame_map' is initialized to -1. avoids using an invalid index if
VP9_GET_REFERENCE/VP8_COPY_REFERENCE controls are issued after a decode
error.
Change-Id: I4599762c4d0b07a5943a72bf4a86ccb596cc062a
|
|
Change-Id: I4dc2cb255f4fe30998b6ee61184895dee9f5da8e
|
|
Replaced encoder and decoder functions to get a pointer
to a reference frame with a common function, vp9_get_ref_frame,
and simplified it.
Change-Id: Icb206fcce8caace3bfd1db3dbfa318dde79043ee
|
|
This was shadowing the use of error_resilient_mode, but with
the opposite sense.
Change-Id: Ie4d30263a304fe4b3e94f0c7741db6888cc6afd8
|
|
in the sub_pixel_*variance* function the dst is aligned to 16 bytes and not
to 32 bytes - now load unaligned data
Change-Id: I2e0b9745543697efc56fefa32857ea10117af135
|
|
A bug in Microsoft compiler was found in the function
vp9_filter_block1d16_v8_avx2 and a workaround applied.
the bug occur when there was 4 consecutive maddubs + min + adds
intrinsic instructions.
Change-Id: I83499faeb70971e650e5663fd2490360ddb1a51b
|
|
in the function sad32x32x4d and sad64x64x4d the source is aligned to 16 bytes
and not to 32 bytes - the load is now unaligned.
Change-Id: I922fdba56d0936b5cf72e4503519f185645a168c
|
|
|
|
|
|
Specifies the bit-depth, color sampling and colorspace
for intra only frames for profiles > 0
Also adds checks to ensure that profile 1 and 3 are
exclusively used for non 420 streams.
Change-Id: Icfb15fa1acccbce8f757c78fa8a2f60591360745
|
|
This commit adds a configure time option used to enable strict error
checking in decoder to make sure intermediate stage cofficients of
inverse transforms are within valid range of signed 16 bit integer.
For valid VP9 input streams, intermediate stage coefficients should
always stay within the range of a signed 16 bit integer. Coefficients
can go out of this range for invalid/corrupt VP9 streams. However,
strictly checking this range for every intermediate coefficient can
be a burden for decoder, therefore such validation is only enabled
with configure option --enable-coefficient-range-checking.
Change-Id: I47d47c8c4e48a922c3d223ca59064f51b3f0f5ed
|
|
Change-Id: Ic37624d807884e71f08b50fd04892f03f2708ba7
|
|
This configuration has moved to vp9_rtcd_defs.pl
Change-Id: I71a31dbb8d79df226b60dd834324a5af69956c51
|
|
Change-Id: Ie3e478ef4fa565225d9e19a14d2f40aad966c2b6
|
|
Change-Id: I1b3c5337f018dde27dc819ab18bd081d169a91e8
|
|
Change-Id: I2e2765b851fb0a1b15351c2aa0e079197cbee373
|