James Zern
20395189cd
vp9_dx_iface: check for NULL/0-size input
...
avoids a crash caused by issue #585
Change-Id: I301595ee0227699b0da6f0dad6d870dd546e94ef
2013-08-14 18:35:22 -07:00
James Zern
8cb09719a3
vpxenc: open output file after setting pass #
...
write_ivf_file_header would incorrectly skip writing the file header in
the 2nd pass, causing the initial frame header to be overwritten on
close potential causing an overly large frame header to be read and a
crash.
most likely broken since:
9e50ed7
vpxenc: initial implementation of multistream support
fixes issue #585
Change-Id: I7e863e295dd6344c33b3e9c07f9f0394ec496e7b
2013-08-14 18:34:44 -07:00
hkuang
39f42c8713
Merge "Add neon optimize vp9_short_idct16x16_add."
2013-08-14 14:16:20 -07:00
hkuang
cf6beea661
Add neon optimize vp9_short_idct16x16_add.
...
Change-Id: I27134b9a5cace2bdad53534562c91d829b48838d
2013-08-14 13:52:16 -07:00
Dmitry Kovalev
bb072000e8
foreach_transformed_block_in_plane cleanup, explicit tx_size var.
...
Making foreach_transformed_block_in_plane more clear (it's not finished
yet). Using explicit tx_size variable consistently instead of
(ss_txfrm_size / 2) or (ss_txfrm_size >> 1) expression.
Change-Id: I1b9bba2c0a9f817fca72c88324bbe6004766fb7d
2013-08-14 11:39:31 -07:00
Dmitry Kovalev
f2c073efaa
Adding const to arguments of intra prediction functions.
...
Adding const to above and left pointers. Cleanup.
Change-Id: I51e195fa2e2923048043fe68b4e38a47ee82cda1
2013-08-14 10:35:56 -07:00
Mans Rullgard
0f1deccf86
vp9: neon: add vp9_convolve_avg_neon
...
Change-Id: I33cff9ac4f2234558f6f87729f9b2e88a33fbf58
2013-08-14 16:27:55 +01:00
Mans Rullgard
635ba269be
vp9: neon: add vp9_convolve_copy_neon
...
Change-Id: I15adbbda15d1842e9f15f21878a5ffbb75c3c0c9
2013-08-14 16:27:55 +01:00
Paul Wilkins
26fead7ecf
Renaming in MB_MODE_INFO
...
The macro block mode info context originally contained an
entry for each 16x16 macroblock. In VP9 each entry refers
to an 8x8 region not a macro block, so the naming is misleading.
This first stage clean up changes the names of 3 entries in the
structure to remove the mb_ prefix.
TODO clean up the nomenclature more widely in respect of
mbmi and bmi.
Change-Id: Ia7305c6d0cb805dfe8cdc98dad21338f502e49c6
2013-08-14 12:47:52 +01:00
Paul Wilkins
54979b4350
Merge "Honor min_partition_size properly for non-square splits"
2013-08-14 04:45:18 -07:00
Guillaume Martres
3526f1cd5e
Get rid of bashisms in the main build scripts
...
The conversion was done with the help of the checkbashisms script
and https://wiki.ubuntu.com/DashAsBinSh .
Change-Id: Id64ecefb35c8d72302f343cd2ec442e7ef989d47
2013-08-13 18:48:35 -07:00
Guillaume Martres
fc50477082
Honor min_partition_size properly for non-square splits
...
Don't do vertical or horizontal splits if subsize < min_partition_size,
except for edge blocks where it makes sense.
Change-Id: I479aa66ba1838d227b5de8312d46be184a8d6401
2013-08-13 15:24:03 -07:00
Dmitry Kovalev
bcc8e9d9c6
Merge "Little cleanup inside decode_tile() function."
2013-08-13 14:43:10 -07:00
Guillaume Martres
ecb78b3e0c
Merge "Trivial clean up."
2013-08-13 12:40:37 -07:00
Jingning Han
7e0f88b6be
Use lookup table to find largest txfm size
...
Refactor choose_largest_txfm_size_ and make it find the largest
transform size via lookup table.
Change-Id: I685e0396d71111b599d5367ab1b9c934bd5490c8
2013-08-13 10:32:14 -07:00
Dmitry Kovalev
8105ce6dce
Merge "Using is_inter_block() instead of repetitive code."
2013-08-13 10:00:01 -07:00
Jingning Han
dc70fbe42d
Merge "Refactor model based tx search in super_block_yrd"
2013-08-13 08:48:49 -07:00
Paul Wilkins
5459f68d71
Trivial clean up.
...
Delete unused / commented out variable references.
Change-Id: Iaf20c0c3744f89adb296d153b516b5ea41b4f3b4
2013-08-13 13:26:18 +01:00
Paul Wilkins
8e35263bed
Merge "Honor min_partition_size properly"
2013-08-13 05:19:51 -07:00
Paul Wilkins
902f9c7cbd
Merge "Broken loop filter case."
2013-08-13 01:56:29 -07:00
Jingning Han
39fe235032
Merge "SSE2 high precision 32x32 forward DCT"
2013-08-12 23:03:47 -07:00
Dmitry Kovalev
2c7ae8c29a
Little cleanup inside decode_tile() function.
...
Change-Id: I3ed4beb59371fe21ca3e82253aa98e0cbd5e0630
2013-08-12 18:28:13 -07:00
Johann
4417c04531
Merge "vp9: neon: optimise convolve8_vert functions"
2013-08-12 17:54:47 -07:00
Johann
4cabbca4ce
Merge "vp9: neon: optimise convolve8_horiz functions"
2013-08-12 17:54:42 -07:00
Dmitry Kovalev
32006aadd8
Using is_inter_block() instead of repetitive code.
...
Change-Id: If0b04c476c34fb8c102c9f750d7fe5669a86a532
2013-08-12 17:42:14 -07:00
Jingning Han
78136edcdc
SSE2 high precision 32x32 forward DCT
...
Enable SSE2 implementation of high precision 32x32 forward DCT. The
intermediate stacks are of 32-bits. The run-time goes down from
32126 cycles to 13442 cycles.
Change-Id: Ib5ccafe3176c65bd6f2dbdef790bd47bbc880e56
2013-08-12 16:52:53 -07:00
Jingning Han
14cc7b319f
Refactor model based tx search in super_block_yrd
...
Remove unnecessary conditional branches in model-based transform
size search.
Change-Id: Ic862dc33ed6710a186f6248239dd5f09b5c19981
2013-08-12 16:34:48 -07:00
Dmitry Kovalev
b89eef8f82
Merge "Simplifying vp9_mvref_common.c."
2013-08-12 16:24:22 -07:00
Dmitry Kovalev
b214cd0dab
Merge "Removing foreach_predicted_block_uv function."
2013-08-12 15:54:01 -07:00
Dmitry Kovalev
98e3d73e16
Merge "Using MV* instead of int_mv* as argument of vp9_clamp_mv_min_max."
2013-08-12 15:53:25 -07:00
Dmitry Kovalev
1a5e6ffb02
Simplifying vp9_mvref_common.c.
...
Change-Id: I272df2e33fa05310466acf06c179728514dd7494
2013-08-12 15:52:08 -07:00
Dmitry Kovalev
9d5885b0ab
Quantization code cleanup.
...
Change-Id: I77b42418b852093f79260cbd880533a0bd86678f
2013-08-12 15:23:47 -07:00
Dmitry Kovalev
c66320b3e4
Merge "Entropy context related cleanups."
2013-08-12 15:18:24 -07:00
Dmitry Kovalev
bd1bc1d303
Merge "Making scaling code more clear."
2013-08-12 15:17:26 -07:00
Dmitry Kovalev
9a31d05e24
Removing unused convolve_avg_c function + cleanup.
...
Change-Id: Id2b126c6456627c25e4041a82e304d0151d951ba
2013-08-12 14:28:00 -07:00
Dmitry Kovalev
1aedfc992a
Using MV* instead of int_mv* as argument of vp9_clamp_mv_min_max.
...
Change-Id: I3c45916a9059f11b41e9d798e34ffee052969a44
2013-08-12 13:56:04 -07:00
Dmitry Kovalev
76d166e413
Removing foreach_predicted_block_uv function.
...
Adding function build_inter_predictors_for_planes to build inter
predictors for specified planes. This function allows to remove
condition "#if CONFIG_ALPHA" and use MAX_MB_PLANE for general case.
Renaming 'which_mv' local var to 'ref', and 'weight' argument to 'ref'.
Change-Id: I1a97160c9263006929d38953f266bc68e9c56c7d
2013-08-12 13:54:13 -07:00
Dmitry Kovalev
a72e269318
Making scaling code more clear.
...
Reusing existing functions, using constants instead of magic numbers.
Change-Id: Idc689ffba52c9a8b203fcf26bd67110ecb5635f9
2013-08-12 13:30:26 -07:00
Paul Wilkins
c3b5ef7600
Broken loop filter case.
...
Loop filter level moved to common but this case missed.
Change-Id: I7fcb557e46ef4ed8e2b5e9c3e82cb042b55bbd7f
2013-08-12 19:46:47 +01:00
Jingning Han
3984b41c87
Fix a compile failure in vp9_get_compressed_data
...
The lf struct is now with VP9_COMMON, instead of MACROBLOCKD.
Change-Id: Idfdd4f91f78f486078a138322d58bb61e93e1bc9
2013-08-12 11:42:17 -07:00
Dmitry Kovalev
8b0e6035a2
Entropy context related cleanups.
...
Adding set_skip_context() function used from both encoder and decoder.
Change-Id: Ia22cfad3211a00a63eb294f64f857b78f4aa9b85
2013-08-12 11:24:24 -07:00
Mans Rullgard
ad7021dd6c
vp9: neon: optimise convolve8_vert functions
...
Invert loops to operate vertically in the inner loop. This allows
removing redundant loads.
Also add preloading of data.
Change-Id: I4fa85c0ab1735bcb1dd6ea58937efac949172bdc
2013-08-12 15:37:48 +01:00
Dmitry Kovalev
097046ae28
Merge "Removing redundant code and function arguments."
2013-08-11 12:20:58 -07:00
Mans Rullgard
b84dc949c8
vp9: neon: optimise convolve8_horiz functions
...
Each iteration of the horizontal loop reuses 7 of the 11 source
values. Loading only the 4 new values saves some time.
Also add preload for source data.
Overall 4% faster on Chromebook.
Change-Id: I8f69e749f2b7f79e9734620dcee51dbfcd716b44
2013-08-11 16:21:55 +01:00
Dmitry Kovalev
3c43ec206c
Renaming BLOCK_SIZE_TYPES constant to BLOCK_SIZES.
...
There will be another change set to rename BLOCK_SIZE_TYPE enum to
BLOCK_SIZE.
Change-Id: I8d1dfc873d6186fa5e554262f5169e929978085e
2013-08-09 17:47:32 -07:00
Guillaume Martres
58b07a6f9d
Honor min_partition_size properly
...
It represents the minimum partition size, so don't split if
bsize == min_partition_size .
Change-Id: Id77c32d6afef7d2ddec0368eaae18fb13227d30e
2013-08-09 17:28:33 -07:00
Dmitry Kovalev
67fe9d17cb
Removing redundant code and function arguments.
...
Change-Id: Ia5cdda0f755befcd1e64397452c42cb7031ca574
2013-08-09 17:24:40 -07:00
Dmitry Kovalev
e7c5ca8983
Merge "Inlining 16 as a stride for BLOCK_OFFSET macro."
2013-08-09 17:22:46 -07:00
James Zern
ef101af8ae
Merge "vp9_rd_pick_inter_mode_sb: fix uninitialized value"
2013-08-09 17:13:32 -07:00
Dmitry Kovalev
f1559bdeaf
Inlining 16 as a stride for BLOCK_OFFSET macro.
...
Change-Id: I7f23d174eb089e5500f268a10db09648634c1b82
2013-08-09 16:40:05 -07:00