Commit Graph

1641 Commits

Author SHA1 Message Date
Adrian Grange
12b2c712ca Merge "Updated encoder to handle intra-only frames" 2013-10-15 17:19:28 -07:00
Johann
e404db44ff Merge "Remove Windows-style newlines using dos2unix" 2013-10-15 17:05:32 -07:00
Jingning Han
9b05f23e05 Merge "Make vp9_zero use cases of consistent format" 2013-10-15 16:49:05 -07:00
Alexander Voronov
d6a59fb12c Updated encoder to handle intra-only frames
Updated the encoder to handle frames that are coded
intra-only. Intra-only frames must be non-showable,
that is, the "show frame" flag must be set to 0 in
the frame header.

Tested by forcing the ARF frames to be coded intra-
only.

Note: The rate control code will need to be modified
to account for intra-only frames better than they
are currently handled.

Change-Id: I6a9dd5337deddcecc599d3a44a7431909ed21079
2013-10-15 16:44:02 -07:00
Jingning Han
bf187d1b2d Merge "Fix a few indent format issues in buffer defs" 2013-10-15 16:23:50 -07:00
Jingning Han
c8e48f4b02 Make vp9_zero use cases of consistent format
Remove the semicolon in the definition of vp9_zero macro. Make all
the use cases of vp9_zero of consistent format.

Change-Id: Ibaf9751e8595872b12766381a93d185a4d90df8f
2013-10-15 16:12:21 -07:00
Guillaume Martres
67cf81b1c0 Remove Windows-style newlines using dos2unix
Change-Id: I0a0f9c07e774450896abc9455728b97fd38ef00c
2013-10-15 15:49:52 -07:00
Jingning Han
0a66541619 Fix a few indent format issues in buffer defs
Change-Id: Iac55891ac9e6f13718c9f822aa099b5ca491832a
2013-10-15 11:51:09 -07:00
Dmitry Kovalev
a4585285ed Removing unused 8x4 transform from the encoder.
Change-Id: Icbcf68b5b685a56f255ebc3859c9692accdadf9e
2013-10-15 11:27:28 -07:00
Dmitry Kovalev
f36ba3da20 Merge "Making input pointer of any inverse transform constant." 2013-10-13 12:22:55 -07:00
Dmitry Kovalev
898c217cbc Merge "Adding TREE_SIZE macro + cleanup." 2013-10-13 12:21:09 -07:00
Dmitry Kovalev
65f118d72f Making input pointer of any inverse transform constant.
Also renaming dest_stride to stride in some places.

Change-Id: I75f602b623a5a7071d4922b747c45fa0b7d7a940
2013-10-11 18:27:12 -07:00
Johann
1ea04d980c Merge "Get libvpx to compile on VS2013." 2013-10-11 17:26:29 -07:00
Dmitry Kovalev
860e467643 Adding TREE_SIZE macro + cleanup.
Using TREE_SIZE for the following trees:
  vp9_intra_mode_tree
  vp9_inter_mode_tree
  vp9_partition_tree
  vp9_switchable_interp_tree
  vp9_mv_joint_tree
  vp9_mv_class_tree
  vp9_mv_class0_tree
  vp9_mv_fp_tree

Change-Id: I0212bb4c1ee6648249f68517e28a67a56591ee1b
2013-10-11 16:25:50 -07:00
Dmitry Kovalev
ac468dde46 Consistent names for inverse hybrid transforms (2 of 2).
Renames:
  vp9_iht_add       -> vp9_iht4x4_add
  vp9_iht_add_8x8   -> vp9_iht8x8_add
  vp9_iht_add_16x16 -> vp9_iht16x16_add

Change-Id: I8f1a2913e02d90d41f174f27e4ee2fad0dbd4a21
2013-10-11 15:49:05 -07:00
Dmitry Kovalev
107897cf05 Merge "Consistent names for inverse hybrid transforms (1 of 2)." 2013-10-11 15:33:00 -07:00
Scott Graham
3806bab283 Get libvpx to compile on VS2013.
`round` is defined in the runtime library now.
https://codereview.chromium.org/23922008/

Change-Id: I3852740058d32f63ce283579acbe284865e32dba
2013-10-11 14:27:00 -07:00
Dmitry Kovalev
e765aade0b Merge "Replacing {VP9_COEF, MODE}_UPDATE_PROB with DIFF_UPDATE_PROB." 2013-10-11 14:15:46 -07:00
Dmitry Kovalev
7ef573914d Consistent names for inverse hybrid transforms (1 of 2).
Renames:
  vp9_short_iht4x4_add     -> vp9_iht4x4_16_add
  vp9_short_iht8x8_add     -> vp9_iht8x8_64_add
  vp9_short_iht16x16_add_c -> vp9_iht16x16_256_add

Change-Id: Ibca7a188fd062b196787ac5efc1ea545e7f166c0
2013-10-11 13:31:32 -07:00
Dmitry Kovalev
44195fda71 Adding const to the input argument of all 1D transforms.
Also adding static to iadst16_1d and fadst16 functions.

Change-Id: I13c7df3b776f0f8efc6e80099bdb0a2f6d29edaf
2013-10-11 11:19:58 -07:00
Dmitry Kovalev
4a0f9478ef Replacing {VP9_COEF, MODE}_UPDATE_PROB with DIFF_UPDATE_PROB.
Values of MODE_UPDATE_PROB and VP9_COEF_UPDATE_PROB are equal, so replacing
them with one constant. Inlining appropriate arguments for functions:
  vp9_cond_prob_diff_update (encoder)
  vp9_diff_update_prob (decoder)

Change-Id: I1255a1cb477743b799b3bfbbcd8de6b32b067338
2013-10-11 10:47:22 -07:00
Dmitry Kovalev
6e21ca7635 Merge "Removing vp9_tree_p typedef." 2013-10-11 10:44:04 -07:00
Dmitry Kovalev
9c8f3063b1 Merge "Removing vp9_idct4_1d_sse2 function." 2013-10-11 10:43:56 -07:00
Yunqing Wang
57b97b56f6 Code cleanup
Minor code cleanup.

Change-Id: I47c1f794842d4570bb39cfd23b80f54f5606bba6
2013-10-11 09:08:41 -07:00
Yunqing Wang
3a0b59e3fd Merge "SSE2 8-tap sub-pixel filter optimization" 2013-10-11 08:44:56 -07:00
Dmitry Kovalev
98400c1bc4 Removing vp9_tree_p typedef.
It is used only two times and it is more clear to use real type instead
of typedef.

Change-Id: Idc25c16504c3da4d040e0cdb33a2987631bb6a5b
2013-10-10 17:16:20 -07:00
Dmitry Kovalev
ddf1b76205 Removing vp9_idct4_1d_sse2 function.
We have two SSE2-optimized functions for idct4_1d:
  vp9_idct4_1d_sse2 <-- removing this one
  idct4_1d_sse2

vp9_idct4_1d_sse2 was used only by the following functions which already
have SSE2 optimized variants:
  vp9_idct4x4_16_add_c   -> vp9_idct4x4_16_add_see2
  idct8_1d               -> vp9_idct8x8_{16, 10, 1}_see2
  vp9_short_iht4x4_add_c -> vp9_short_iht4x4_add_see2

Change-Id: Ib0a7f6d1373dbaf7a4a41208cd9d0671fdf15edb
2013-10-10 16:50:43 -07:00
Scott LaVarnway
83936e8cd5 d207 intra prediction ssse3 using bytes
byte version of ronalds d207 ssse3 optimizations
(commit: f891f84d3ba9345b0074e682f0fea09b8ddf4f1e)

Change-Id: If15f71a589ea16f78ac86a501b0c5c6231dc9af1
2013-10-10 15:50:31 -07:00
Dmitry Kovalev
2be3b84aed Merge "Giving consistent names to IDCT 32x32 functions." 2013-10-10 15:31:25 -07:00
Yunqing Wang
86528586a3 Merge "d153 intra prediction (32x32) ssse3 using bytes" 2013-10-10 15:16:45 -07:00
Yunqing Wang
3fb728c749 SSE2 8-tap sub-pixel filter optimization
To ensure fast encoding/decoding on devices without ssse3 support,
SSE2 optimization of sub-pixel filters was done. Test using 1080p
clip showed the decoder speeds were ~70fps with ssse3 filters, ~60fps
with sse2 filters, and ~15fps with c filters.

Change-Id: Ie2088f87d83a889fba80a613e4d0e287aadd785c
2013-10-10 14:12:47 -07:00
Dmitry Kovalev
1e766b50e2 Giving consistent names to IDCT 32x32 functions.
Renames:
  vp9_short_idct32x32_add   -> vp9_idct32x32_1024_add
  vp9_short_idct32x32_1_add -> vp9_idct32x32_1_add
  vp9_idct_add_32x32        -> vp9_idct32x32_add

Change-Id: Id85306f5814bac6c47463a6b5901a93082510666
2013-10-10 11:27:39 -07:00
Dmitry Kovalev
1e8fc24af8 Merge "Removing inv_txm4x4_1_add and inv_txm4x4_add function pointers." 2013-10-10 10:49:27 -07:00
Dmitry Kovalev
9a1250e3e0 Merge "Moving all scan/iscan code into separate vp9_scan.{h, c} files." 2013-10-10 10:45:07 -07:00
Dmitry Kovalev
419c3f6fba Merge "Giving consistent names to IDCT 16x16 functions." 2013-10-10 10:43:14 -07:00
Dmitry Kovalev
d9d7040e98 Adding const to several pointers.
Change-Id: I7231589bda71d0d23c730283febd5bb58585a0da
2013-10-09 19:46:30 -07:00
Yaowu Xu
8a06cb55ee Merge "Added #define of snprintf for MSVC" 2013-10-09 13:04:20 -07:00
Yaowu Xu
850a919640 Added #define of snprintf for MSVC
snprintf is not supported by MSVC, the commit replace it with the msvc
variant _snprintf to enable build.

Change-Id: I686943a78c289bae6b486a5e75effad5f86c24de
2013-10-09 12:16:53 -07:00
Parag Salasakar
eeb5b62dc1 mips dsp-ase r2 vp9 decoder bilinear convolve optimizations
Change-Id: Ic31b4ef85e65070b4f8b9f26e068ccfaae00c4f0
2013-10-09 18:05:27 +05:30
James Zern
b4148c3a03 Merge "vp9_blockd.h: update get_tx_eob() signature" 2013-10-09 00:55:48 -07:00
Jingning Han
83b285e546 Merge "All zero coeff skip in IDCT 32x32" 2013-10-08 12:30:48 -07:00
Jingning Han
6594ca8897 All zero coeff skip in IDCT 32x32
When all coefficients are zeros, skip the corresponding 1-D inverse
transform. This practice has been used in the SSE2 implementation of
inverse 32x32 DCT. This commit imports this algorithm into the C code.

Change-Id: I0f58bfcb183a569fab85d524d5d9cf8ae8653f86
2013-10-08 11:47:29 -07:00
Dmitry Kovalev
c983c966cb Removing inv_txm4x4_1_add and inv_txm4x4_add function pointers.
We already have itxm_add member in MACROBLOCKD structure. Both
inv_txm4x4_1_add and inv_txm4x4_add are just its special cases for
different eob values. But eob logic is already implemented in
vp9_iwht4x4_add and vp9_idct4x4_add (that's why also removing
inverse_transform_b_4x4_add).

Change-Id: I80bec9b6f7d40c5e5033c613faca5c819c3e6326
2013-10-08 11:27:56 -07:00
Dmitry Kovalev
8d3ef287a2 Merge "Removing redundant vp9_pt_energy_class declarations." 2013-10-08 10:54:48 -07:00
Paul Wilkins
f9ec0433ad Merge "Fix MSVC warning." 2013-10-08 10:19:49 -07:00
Jim Bankoski
56af13a1b1 cpplint issue with convolve resolved
Change-Id: I38b2100f1a64cb067c63f4e1662c36914b3569df
2013-10-07 15:55:42 -07:00
Dmitry Kovalev
b096c5a336 Giving consistent names to IDCT 16x16 functions.
Renames:
  vp9_short_idct16x16_add    -> vp9_idct16x16_256_add
  vp9_short_idct16x16_10_add -> vp9_idct16x16_10_add
  vp9_short_idct16x16_1_add  -> vp9_idct16x16_1_add
  vp9_idct_add_16x16         -> vp9_idct16x16_add

Change-Id: Ief8a3904de78deab0f4ede944c4d0339c228cfc3
2013-10-07 14:31:10 -07:00
Dmitry Kovalev
2ae93a776b Merge "Giving consistent names to IDCT 8x8 functions." 2013-10-07 14:19:50 -07:00
Dmitry Kovalev
23cc1cd8e6 Removing redundant vp9_pt_energy_class declarations.
Declaring vp9_pt_energy_class in vp9_entropy.h instead of many external
places.

Change-Id: I66e8a3fc119a43f88d130d0dae4133c825a047a3
2013-10-07 14:11:01 -07:00
Dmitry Kovalev
e3597c6af7 Moving all scan/iscan code into separate vp9_scan.{h, c} files.
Now we have entropy code separate from scan/iscan code. The next step
in future is to move iscan code from common part to the encoder.

Change-Id: Id9732f7d80aec00af35c1d58d1137c4c96c91451
2013-10-07 13:55:56 -07:00