Age | Commit message (Collapse) | Author |
|
The forward and inverse hybrid transforms are now performed using
single function modules, where the dimension is sent as argument.
Added an inline function clip8b to clip the reconstruction pixels
into range of 0-255.
Change-Id: Id7d870b3e1aefc092721c80c0af6f641eb5f3747
|
|
It's reset in calling functions.
Change-Id: Ia5df086de615aac6feb3c911fe298626a002b850
|
|
Change-Id: I3421d07fdcf2148d75c8dbfc8c44bc2d96a3a8f6
|
|
Change-Id: Id1ea2d543f12d4589df7038d5fb7bac1fee4da11
|
|
Change-Id: Ia6a290a6a53fdb88c971bea2de47ac73dcb7a364
|
|
Change-Id: I876955b1d577321b5cd3f71e3fb2c4083ad5111b
|
|
This allows building on MountainLion as the 10.6 SDK has been
removed from the latest Xcode version (4.4 4F250). Also fix
all warnings for that build.
Change-Id: Ib70bca4a25295f13595f0d10ea9f0229631de5a4
|
|
|
|
|
|
Merged in the high_precision_mv experiment to make it easier
to work on new mv encoding strategies. Also removed
coef_update_probs3().
Change-Id: I82d3b0bb642419fe05dba82528bc9ba010e90924
|
|
Previouly, the decoding of mode and motion vector are done a per frame
basis followed by residue decoding and reconstuction. The commit added
the option to allow decoder to interleave the decoding of mode and mvs
with the residue decoding on a per MB basis.
Change-Id: Ia5316f4a7af9ba7f155c92b5a6fc97201b653571
|
|
Fixed the code review comments.
Under the htrans8x8 experiment the 8X8 DCT in the
I8X8 mode is replaced with a combination of 8X8 ADST and
DCT.
Overall coding gains with the htrans8x8 experiment are:
derf: 0.486
std-hd: 1.040
hd: 1.063
yt: 0.506
Note that part of the gain comes from bigger transforms
(8x8 instead of 4x4) and part comes from replacing the DCT
wth the ADST.
Change-Id: I92ca6bbfce11b4165d612b81d9adfad4d010c775
|
|
Change-Id: I377d50cb347f50341ab6f5f456a6a64438bcb667
|
|
|
|
|
|
Set on all 16x16 intra/inter modes
Features:
- Butterfly fDCT/iDCT
- Loop filter does not filter internal edges with 16x16
- Optimize coefficient function
- Update coefficient probability function
- RD
- Entropy stats
- 16x16 is a config option
Have not tested with experiments.
hd: 2.60%
std-hd: 2.43%
yt: 1.32%
derf: 0.60%
Change-Id: I96fb090517c30c5da84bad4fae602c3ec0c58b1c
|
|
experimental
|
|
Change-Id: I6cb88d87b7549ded1de6ff9ef65ff958ad448999
|
|
Change-Id: Ida01bb8f4b35fde24b0f096329d326833f1fdc7e
|
|
This prevents various integer overflows that several of us have been
seeing in the past few days.
Change-Id: If0020613a608e13d311b7838796c7ad53cb97255
|
|
Apply 2D-DCT transform of dimension 8x8 to encode prediction
residuals of I8X8 mode.
Brought back block type 3 probability context model for 8x8 tokens,
which is used for the coefficients of Y blocks in I8x8 modes. The
coefficient costs estimate of I8X8 mode in rate-distortion is also
changed appropriately.
Performance results:
derf: 0.246
yt: 0.114
std-hd: 0.730
hd: 0.670
Change-Id: If1d970eeb4e1827c9f0d2c5b27d33089b347ea27
|
|
Removed two macros corresponding to experiments that were
merged into the main code.
Change-Id: I894e8b509a2bb88557f9aba6f226ed7807745065
|
|
Merged the enhanced_interp experiment.
Found and fixed a bug in the include files framework, whereby
certain encoder files were still using the old INTERP_EXTEND
value of 3 instead of 4. The thresholds for mv range mcomp.c
need a small adjustment to prevent crashes.
The results are more or less unchanged.
Change-Id: Iac5008390f1efc97ce1102fbb5f8989c847fb579
|
|
Allows for swtiching/setting interpolation filters at the MB
level. A frame level flag indicates whether to use a specifc
filter for the entire frame or to signal the interpolation
filter for each MB. When switchable filters are used, the
encoder chooses between 8-tap and 8-tap sharp filters. The
code currently has options to explore other variations as well,
which will be cleaned up subsequently.
One issue with the framework is that encoding is slow. I
tried to do some tricks to speed things up but it is still slow.
Decoding speed should not be affected since the number of
filter taps remain unchanged.
With the current version, we are up 0.5% on derf on average but
some videos city/mobile improve by close to 4 and 2% respectively.
If we did a full-search by turning the SEARCH_BEST_FILTER flag
on, the results are somewhat better.
The framework can be combined with filtered prediction, and I
seek feedback regarding that.
Rebased.
Change-Id: I8f632cb2c111e76284140a2bd480945d6d42b77a
|
|
|
|
The following five experiments are merged:
newentropy
newupdate
adaptive_entropy (also includes a couple of parameter changes
that improves results a little
in common/entropymode.c and encoder/modecosts.c
that were not merged from the internal branch)
newintramodes
expanded_coef_context
Change-Id: I8a142a831786ee9dc936f22be1d42a8bced7d270
|
|
|
|
Change-Id: Ibf357eb492e7d5883fbdf1ddf455e28767c1d65d
|
|
|
|
|
|
Use $^ vs $? to capture all prerequisites, rather than only newer ones.
Change-Id: I464ffb2913cf60f5ca5e07518ad4bf7da10baf87
|
|
The "codecs" array is defined as const so too
should the local variable that points too it.
Change-Id: I536a9ced52257dc44a04fc1a3cad94c1e86f69aa
|
|
Replaced local definitions of the extension required
by the filters with the globally defined value.
Change-Id: If9e590a1f2e5b0bdc2d3e3c3f04aacbd3b09bfee
|
|
experimental
|
|
This commit fixes up shared lib builds on linux.
Change-Id: Ib109dc5a226dc5d7874d2e5b333466cbfd4f4661
|
|
Change-Id: Id2bac0597b6dd1ce41bd78cbd9e9d876b71cd8a2
|
|
Change-Id: I74e50b4dfbe73eb98e1dce1695a9973f637220c0
|
|
Change-Id: I9ccbea76eaeb81ce7b833dd92216734725796e84
|
|
Adds ADST/DCT hybrid transform coding for Intra4x4 mode.
The ADST is applied to directions in which the boundary
pixels are used for prediction, while DCT applied to
directions without corresponding boundary prediction.
Adds enum TX_TYPE in b_mode_infor to indicate the transform
type used.
Make coding style consistent with google style.
Fixed the commented issues.
Experimental results in terms of bit-rate reduction:
derf: 0.731%
yt: 0.982%
std-hd: 0.459%
hd: 0.725%
Will be looking at 8x8 transforms next.
Change-Id: I46dbd7b80dbb3e8856e9c34fbc58cb3764a12fcf
|
|
|
|
|
|
Although it can be useful, in some cases it causes artifacts in motion-
based content.
Change-Id: I27bb80901020c40636e2018a8217759175a23f5b
|
|
the integer version has very good precision, the float version is no
longer useful. this commit also removes the experiment option from
configure script.
Change-Id: Ibb92e63c9f5083357cdf89c559d584a7deb3353f
|
|
this commit removes a number of experiment options from configure
script. the associated experiments are already fully merged, the
options in configure script have no effect at all.
Change-Id: I8054ccaee0a04610162ed76ac9e59c4538217113
|
|
Approximate the Google style guide[1] so that that there's a written
document to follow and tools to check compliance[2].
[1]: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml
[2]: http://google-styleguide.googlecode.com/svn/trunk/cpplint/cpplint.py
Change-Id: Idf40e3d8dddcc72150f6af127b13e5dab838685f
|
|
|
|
struct." into experimental
|
|
vp8_encode_inter_macroblock() is called in both pick_mb_modes() as
well as encode_sb(), thus the number of macroblocks in the counter
were twice as big as actual numbers. This doesn't affect output.
Change-Id: I6de8a996ee44d2f7f2080d8d2177dd7bc6207c93
|
|
Change-Id: Icac5b18e5c832681cea866679796a1dd4278cfb8
|
|
Change-Id: Ib6866e491994f6c7eeb6c2e5ecd1ff54cc187610
|