Ivan Maltz
663916cea7
SVC improvements
...
These changes were originally made in the Stratacaster team-review repository
commit e114bffcd82ad74c3696ec58e13c0ac895d6c82d
Author: Charles 'Buck' Krasic <ckrasic@google.com>
Date: Mon Oct 14 16:52:13 2013 -0700
Make dummy frame handling a bit more explicit, fixing bug
with single layer encodes.
Squashed commit of the following:
commit 1ebbfd976c0fadb02bf1ea562a2d0e3f0206daad
Merge: ac468dd 54e88b7
Author: Ivan Maltz <ivanmaltz@google.com>
Date: Fri Oct 11 17:29:58 2013 -0700
Move SVC code from vp9_spatial_scalable_encoder to libvpx module accessible from ffmpeg
commit 54e88b78b160becc9569fc3c6cb6b0a8c95dc357
Author: Ivan Maltz <ivanmaltz@google.com>
Date: Tue Oct 8 09:08:40 2013 -0700
common svc encoding code for sample app and ffmpeg
added svc_encodeframe.c, svc_context.h, svc_test.cc
vp9_spatial_scalable_encoder uses vpx_svc_encode
commit 5616ec8e2e3d3e8d277333d8a9242f6c70151162
Merge: 4528014 e29137d
Author: Ivan Maltz <ivanmaltz@google.com>
Date: Tue Oct 8 08:47:58 2013 -0700
Merge branch 'master' into stratacaster
commit 45280148450b1f3d61e390df8aadedf85cd5bce1
Merge: bb2b675 1ab60f7
Author: Sujeevan Rajayogam <sujee@google.com>
Date: Fri Oct 4 10:22:31 2013 -0700
Merge branch 'master' into stratacaster
commit bb2b675e595dc9bfc8551e963edf56800c3aea61
Author: Sujeevan Rajayogam <sujee@google.com>
Date: Wed Oct 2 12:37:26 2013 -0700
Track individual frame sizes and psnrs instead of averages.
commit c6d303b714795c81e7ceb4173967115c9f8ff5b7
Merge: fa87df9 3583087
Author: Sujeevan Rajayogam <sujee@google.com>
Date: Fri Sep 27 10:05:35 2013 -0700
Merge branch 'master' into stratacaster
commit fa87df94fba923d9f7aeb8ae20c6e15f777e00b5
Merge: bf22d71 3c465af
Author: Sujeevan Rajayogam <sujee@google.com>
Date: Thu Sep 26 16:10:31 2013 -0700
Merge branch 'master' into stratacaster
commit bf22d7144895a82e0c348ac177c8a261b9e2b88e
Author: Sujeevan Rajayogam <sujee@google.com>
Date: Thu Sep 26 11:10:34 2013 -0700
Parameterized quantizer, 16th scalefactors, more logging, enabled single layer encodes to generate baseline.
commit ceffd7e6025b765f9886b5ea0f324248aa37e327
Author: Sujeevan Rajayogam <sujee@google.com>
Date: Thu Sep 19 10:04:49 2013 -0700
- Include new mode for 3 layer I frame with 5 total layers.
- Refactor svc api.
Change-Id: Ie4d775e21e006fa597d884c59488dc999478e9b5
2013-10-21 14:34:37 -07:00
Dmitry Kovalev
33a29f3c35
Merge "Moving allow_high_precision_mv from MACROBLOCKD to VP9_COMMON."
2013-10-21 10:55:02 -07:00
Yunqing Wang
4afc3a6542
Merge "Fix d207 intra prediction SSSE3 functions"
2013-10-21 10:45:20 -07:00
Dmitry Kovalev
d1b65c6bda
Moving allow_high_precision_mv from MACROBLOCKD to VP9_COMMON.
...
This value is a global frame-level flag, not a macroblock-level.
Change-Id: Ie8c5790a931150741c2167c00c3e3dd2cf26744d
2013-10-21 10:12:14 -07:00
Dmitry Kovalev
41ff8d7aaa
Merge "Removing unused struct member mvcount[MV_VALS]."
2013-10-21 09:46:07 -07:00
Yunqing Wang
dd51042802
Fix d207 intra prediction SSSE3 functions
...
This patch fixed a bug that caused 32bit PIC build mismatch. The
stack pointer was modified after "GET_GOT". Loading left pointer
from a hard-coded position gave wrong result.
Change-Id: Iea0aec6f917b12a6b3393ffc986bad74510248cc
2013-10-18 17:00:18 -07:00
Yunqing Wang
997e19092e
Disable d207 intra prediction SSSE3 functions
...
Commit "d207 intra prediction ssse3 using bytes" caused mismatch
while building 32bit PIC code. Disabled these SSSE3 functions
until we fix the bug.
Change-Id: Ic444e531d3d4058092fe6eab09006b44fcb18e4c
2013-10-18 14:23:17 -07:00
James Zern
4e6c799e9f
Merge "vp9 dec/com: only update frame counts when necessary"
2013-10-18 13:56:11 -07:00
James Zern
68573c9d2b
Merge "vp9 com/dec: avoid reading unavailable above/left"
2013-10-18 13:22:19 -07:00
James Zern
7563dd4a8d
vp9 dec/com: only update frame counts when necessary
...
don't update them when frame_parallel_mode is true
Change-Id: I22ff131a6c6eea238415d10b729f195c7d6dc60d
2013-10-18 22:16:56 +02:00
Yaowu Xu
db1045f2c0
Merge "Use lookup table to simplify logic"
2013-10-18 12:55:24 -07:00
Dmitry Kovalev
5cb8cca9eb
Merge "Using stride (# of elements) instead of pitch (bytes) in fdct16x16."
2013-10-18 12:53:09 -07:00
James Zern
67e41fe2f6
vp9 com/dec: avoid reading unavailable above/left
...
in most cases at least the left column was a harmless race as it was
left unused later in the code.
Change-Id: I43211df66fb157c6feecf08c681add4fcf18b644
2013-10-18 21:39:37 +02:00
Dmitry Kovalev
1f5d744742
Removing unused struct member mvcount[MV_VALS].
...
Change-Id: Iaaca88097904b889769901f2bd331f4fff0e5044
2013-10-18 11:56:55 -07:00
Dmitry Kovalev
1aa7fd5aef
Using stride (# of elements) instead of pitch (bytes) in fdct16x16.
...
Just making fdct consistent with iht/idct/fht functions which all use
stride (# of elements) as input argument.
Change-Id: I2d95fdcbba96aaa0ed24a80870cb38f53487a97d
2013-10-18 11:49:33 -07:00
Dmitry Kovalev
a8ffa96e9b
Passing block index explicitly instead of using get_sb_index().
...
That makes decoder and encoder (only bitstream writing part) a little bit
simpler and faster. Moving get_sb_index() function to the encoder.
Change-Id: Ie91aaeefd69c84b085948267b33556a7666c6278
2013-10-18 11:02:32 -07:00
Yaowu Xu
30d1ec38a7
Use lookup table to simplify logic
...
In deciding the transform size for a given block in a given TX_MODE.
Change-Id: I1467da09853e69cd320695a24c04e19a2f3d04fb
2013-10-17 14:54:16 -07:00
Dmitry Kovalev
ab1e65b380
Merge "Using TREE_SIZE macro for vp9_segment_tree."
2013-10-17 14:46:08 -07:00
Dmitry Kovalev
631d216273
Merge "Removing last_kf_gf_q member from VP9Common structure."
2013-10-17 14:46:02 -07:00
Dmitry Kovalev
e05412fc23
Using stride (# of elements) instead of pitch (bytes) in fdct32x32.
...
Just making fdct consistent with iht/idct/fht functions which all use
stride (# of elements) as input argument.
Change-Id: Id623c5113262655fa50f7c9d6cec9a91fcb20bb4
2013-10-17 13:02:28 -07:00
Dmitry Kovalev
01993f7d4a
Removing last_kf_gf_q member from VP9Common structure.
...
It looks like we don't actually use this value.
Change-Id: If21d52b597337e7755f7ea817824fc2b1e477a14
2013-10-16 18:01:48 -07:00
Dmitry Kovalev
1350f885f6
Using TREE_SIZE macro for vp9_segment_tree.
...
Change-Id: I2965453135643d8f061b9fa9406fdca2db9c961e
2013-10-16 17:35:06 -07:00
Guillaume Martres
7fd2561d64
Merge changes I6226456d,I97925178,I766c4b74
...
* changes:
Use a separate MODE_INFO stream for each tile column
Get rid of "this_mi", use "mi_8x8[0]" everywhere instead
Make the static_segmentation feature work again
2013-10-16 17:05:39 -07:00
Guillaume Martres
5b984b36ca
Use a separate MODE_INFO stream for each tile column
...
This should make parallel tiles decoding easier to implement.
Change-Id: I6226456dd11f275fa991e4a7a930549da6675915
2013-10-16 16:24:48 -07:00
Guillaume Martres
acf0d56f0b
Get rid of "this_mi", use "mi_8x8[0]" everywhere instead
...
The only case where they were intentionally pointing to different
structures was in mbgraph, and this didn't have the expected behavior
because both of these pointers are used interchangeably through the code
Change-Id: I979251782f90885fe962305bcc845bc05907f80c
2013-10-16 16:24:03 -07:00
Dmitry Kovalev
9deb614a57
Adding get_band_translate() function.
...
Moving code that gets band_translate array from get_scan_and_band()
function to get_band_translate() function. Renaming get_scan_and_band() to
get_scan().
Change-Id: I43047c205a1ca2a6e24be44db39dc04b7a385008
2013-10-16 15:11:42 -07:00
Dmitry Kovalev
501a8c6b91
Merge "Removing print_prob_tree function and vp9_coeff_probs typedef."
2013-10-16 13:13:25 -07:00
Dmitry Kovalev
65583b14e0
Merge "Moving FILTER_BITS constant from vp9_convolve.h to vp9_filter.h."
2013-10-16 13:13:14 -07:00
Dmitry Kovalev
9e66515886
Merge "Using constants instead of plain numbers."
2013-10-16 13:13:04 -07:00
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
77cd8db1bf
Moving FILTER_BITS constant from vp9_convolve.h to vp9_filter.h.
...
Change-Id: Idd7bdb0c364d94c5a0d24c87bb8574292e4c840c
2013-10-14 21:15:40 -07:00
Dmitry Kovalev
6965e6f3d5
Removing print_prob_tree function and vp9_coeff_probs typedef.
...
Change-Id: If14265084e9b4c85c75b43e8d33a6fafad468cbc
2013-10-14 21:08:21 -07:00
Dmitry Kovalev
a97fe89538
Using constants instead of plain numbers.
...
Replacing
22 with TREE_SIZE(MAX_ENTROPY_TOKENS)
12 with MAX_ENTROPY_TOKENS
Change-Id: If24919336e8ace9cf64991bd5ae33fa6656f7b93
2013-10-14 20:33:37 -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