Dmitry Kovalev
433e5ea0e8
Fixing invalid block width/height calculation.
...
Change-Id: Ieaeb53902ce0ffd5b1b27a92583e98abfa791433
2014-01-14 17:53:32 -08:00
Dmitry Kovalev
70fe826d26
Cleaning up vp9_rdopt.c.
...
Change-Id: I5200bf68b43578eaadc4ea47b37f2633fa96d7bd
2014-01-14 17:46:14 -08:00
Dmitry Kovalev
a540f8a0b0
Cleaning up postproc code.
...
Change-Id: I7e53f6345a4cf89309262f50850c9ad08ed3c527
2014-01-14 15:49:19 -08:00
Jim Bankoski
da94b9be81
Save ~30% off tokenize_b
...
Refactoring for speed in the same vein as detokenize_b...
Change-Id: I90779aa46e3b13c22ddce9a42b60e1920ad97142
2014-01-14 15:19:43 -08:00
Dmitry Kovalev
f13b3d1e08
Merge "Making motion search code more compact."
2014-01-14 15:12:43 -08:00
Dmitry Kovalev
382470db42
Merge "Removing unnecessary casts + cleanup."
2014-01-14 14:47:48 -08:00
Dmitry Kovalev
970e945795
Merge changes I8eda5762,Ia2ffca07
...
* changes:
Removing unused switchable_interp_count[] field from VP9_COMP.
Using clamp() function instead of the same raw code.
2014-01-14 14:46:07 -08:00
Dmitry Kovalev
b53113c3ca
Merge "Removing unused error_bins[] field from VP9_COMP."
2014-01-14 14:45:17 -08:00
Dmitry Kovalev
a8bb1ffd89
Merge "Reusing get_frame_new_buffer() function."
2014-01-14 14:40:48 -08:00
Dmitry Kovalev
f3728f20ea
Merge "Cleaning up vp9_encodeframe.c."
2014-01-14 14:14:49 -08:00
Dmitry Kovalev
7da6422d63
Merge "Adding get_vp9_ref_frame_buffer() function."
2014-01-14 14:12:45 -08:00
Dmitry Kovalev
518a934f43
Merge "Converting int_mv to MV."
2014-01-14 14:11:49 -08:00
Deb Mukherjee
fc43938d5e
Merge "Minor fix on an assert"
2014-01-14 13:57:17 -08:00
Deb Mukherjee
1699d6bd53
Minor fix on an assert
...
Fixes assert that fails occasionally on small values of
max-key frame intervals. Also, adds a small change on
updating frames_to_key for frame drops.
Change-Id: Icc2b33b25e3e4ced7e49f8db73e0a887ef9c99e0
2014-01-14 12:51:13 -08:00
Paul Wilkins
5c808ba13a
Add max burst bitrate control.
...
Applies an upper limit on burst bitrate for any
frame. This is to insure that typical encodes for YT
do not produce frames that are so large that they
risk stalling HW implementations. Such frames
could also cause playback problems in SW.
For now the limit is set at 250 bits per MB for 1080P
and larger (with the 1080P limit used for smaller frames).
Setting maxQ, constant quality mode or targeting a
very high bandwidth will have precedence over this limit.
Change-Id: Ie6f776c38b06ac7cec043d034085f4b79ee46a38
2014-01-14 09:52:49 +00:00
Yaowu Xu
4f2a80f05f
Merge "fix a div by zero issue"
2014-01-13 18:04:30 -08:00
Dmitry Kovalev
a8a5774ba9
Removing unused error_bins[] field from VP9_COMP.
...
Change-Id: I883eb9026b44cb354d5b01c0f1d34ecd71f942e4
2014-01-13 16:33:16 -08:00
Dmitry Kovalev
0a74236bd4
Removing unused switchable_interp_count[] field from VP9_COMP.
...
Change-Id: I8eda5762728d981ab7757388741b598c665c26ca
2014-01-13 16:30:40 -08:00
Dmitry Kovalev
46a951c846
Using clamp() function instead of the same raw code.
...
Change-Id: Ia2ffca072f5391b277ce1a0c4e5b4ece9ffc6831
2014-01-13 16:27:50 -08:00
Dmitry Kovalev
80aae67f44
Making motion search code more compact.
...
Change-Id: I04d6a006eaf2676f2d8d1d96b87f69e081969382
2014-01-13 15:24:06 -08:00
Dmitry Kovalev
9855b6e510
Reusing get_frame_new_buffer() function.
...
Change-Id: Iac5c5aeaef62a4095a60d91285d2c7ad717db0fb
2014-01-13 14:04:56 -08:00
Dmitry Kovalev
887984479c
Removing unnecessary casts + cleanup.
...
Change-Id: I7298087426977e36b61ecf493949e9412842254c
2014-01-13 13:04:05 -08:00
Yunqing Wang
f9404f2406
Revert "Revert "SSSE3 convolution optimization""
...
This reverts commit b645257121da20b422dbbebf02aae0fc6dff95d4.
Change-Id: I60d1bf57ae8e9eb6127f42f2d5a780124ac51b45
2014-01-13 12:29:55 -08:00
Dmitry Kovalev
dd31f2e4ae
Merge "Adding mv_has_subpel() function."
2014-01-13 12:00:51 -08:00
Dmitry Kovalev
b9592fa0b3
Removing intra_mode_stats.
...
Change-Id: I6e0895f7f826b484ac86945e6abe3a706a6b0399
2014-01-13 11:40:33 -08:00
Dmitry Kovalev
62a2c2b15b
Removing unused calc_partial_ssl_err() function.
...
Change-Id: Iad8b0208d3a3b0fc3d7fda3933b0fc007d4d2e9e
2014-01-13 11:26:16 -08:00
Dmitry Kovalev
2033ac49b4
Converting int_mv to MV.
...
Change-Id: Id31c0e100d275bd3650eaf5e4b8fe5ce648dbfaf
2014-01-13 11:21:07 -08:00
Dmitry Kovalev
4ae8ac7be8
Merge "Cleaning up and fixing psnr calculation code."
2014-01-13 10:59:26 -08:00
Dmitry Kovalev
b02c72b5d9
Adding mv_has_subpel() function.
...
Change-Id: I50922bb1a689f8515debaa018f850b231c21189f
2014-01-13 10:57:56 -08:00
Yaowu Xu
31d3f43e18
fix a div by zero issue
...
Change-Id: I091dfaa0ed5b9672eedd46d6097469d0802e24ef
2014-01-13 10:44:32 -08:00
Yaowu Xu
5e5d4c0ea7
Enable reference frame masking for rt mode
...
Reference frame masking helped good quality mode to gain about 5% in
encoding speed, this commit enable it for rt mode to gain the speed
improvement.
In addition, this commit move the speed feature setup to a separate
function.
Change-Id: I015e8f78bbb21dd43ae183b9b9355bea2ccda9c5
2014-01-13 10:06:17 -08:00
Paul Wilkins
a00dad39bd
No arf right before real scene cut.
...
To reduce pulsing we now allow an arf just before forced key frames
and at the end of a clip or section (which may be stitched to
another clip or section). However, this does not make sense for
key frames arising from real scene cuts.
Change from original patch reflects other recent changes in regard
to alignment of gf/arf and kf groups.
Change-Id: I074a91d1207e9b3e28085af982f6718aa599775f
2014-01-13 11:35:02 +00:00
Paul Wilkins
603075fa04
Further rate control tweaks and fixes.
...
Further fixes regarding min and max rate.
Bug fixes re kf group bits and last kf group.
Change-Id: Iaafd719d30a489e135a3c55851ce8c632091a436
2014-01-13 11:34:34 +00:00
James Zern
f83c12b540
Merge "cosmetics: vp9_reconinter.h: make some variables const"
2014-01-11 12:39:32 -08:00
Dmitry Kovalev
d2c1e8a5a5
Cleaning up reatectrl.c file.
...
Adding temp variable for &cpi->rc.
Change-Id: Id9a658659354c12e1940532ff85311ce89071b2f
2014-01-10 17:44:33 -08:00
Dmitry Kovalev
ca677a3859
Merge "Cleaning up vp9_rc_postencode_update() function."
2014-01-10 16:53:35 -08:00
Dmitry Kovalev
4def0a8125
Cleaning up and fixing psnr calculation code.
...
Introducing calc_psnr() which calculates psnr between two yv12 buffers.
Previously we incorrectly used width/height instead of
crop_width/crop_height to calculate number of samples -- fixed.
Change-Id: Iecda01980555de55ad347e0276e6641c793fa56c
2014-01-10 16:09:56 -08:00
Dmitry Kovalev
6ed59ecc8a
Merge "Cleaning up vp9_dx_iface.c."
2014-01-10 16:01:54 -08:00
Jingning Han
29736b889b
Merge "Declare setup_buffer_inter in vp9_rdopt.h"
2014-01-10 16:01:07 -08:00
Jingning Han
4f969ccc1b
Merge "Enable skipping reference frame check in rd loop"
2014-01-10 16:00:56 -08:00
Dmitry Kovalev
aea2864471
Merge "Removing mi_height_log2_lookup table."
2014-01-10 16:00:56 -08:00
Jim Bankoski
6439aa5a0e
explain speed features
...
Added comments to explain what the various speed features do, and removed
1 that was clearly unused.
Change-Id: Icd37a536072ddafedbfaefcecbe48979f6d10faf
2014-01-10 14:10:34 -08:00
Jingning Han
db2b350d33
Declare setup_buffer_inter in vp9_rdopt.h
...
This funtion initializes buffer pointers and first stage motion vector
prediction. It will be needed by both regular rate-distortion
optimization loop and the non-RD mode decision. Hence move its
declaration in vp9_rdopt.h
Change-Id: I64e8b6316c9d05f20756a62721533a2e4d158235
2014-01-10 13:52:40 -08:00
Dmitry Kovalev
3df5c54ad7
Cleaning up vp9_encodeframe.c.
...
Change-Id: I6d9f595249dc71752abe16c042d3b07aa2e4248d
2014-01-10 13:48:44 -08:00
Dmitry Kovalev
96be0a50ab
Removing mi_height_log2_lookup table.
...
Change-Id: I1f0ae2edc3a96b33c0494d165ae756a8feba6184
2014-01-10 13:29:47 -08:00
Dmitry Kovalev
804a155d64
Adding get_vp9_ref_frame_buffer() function.
...
Change-Id: Iae195fcf952dd27ba424f8e95090b8ffc4d5a7c8
2014-01-10 11:59:38 -08:00
Marco Paniconi
21a0c1f38f
Merge "Don't use gf_update by default for 1-pass CBR."
2014-01-10 11:43:20 -08:00
Dmitry Kovalev
21ededd4f4
Cleaning up vp9_dx_iface.c.
...
Change-Id: I6a0dfb95c55ee6cadc7b1675782c7830e5c7caaf
2014-01-10 11:01:52 -08:00
Dmitry Kovalev
447eece329
Cleaning up vp9_rc_postencode_update() function.
...
Change-Id: I02e44c10660fdb9201a802ad19ceb64756feeebe
2014-01-10 10:44:20 -08:00
Marco Paniconi
c46538d45e
Don't use gf_update by default for 1-pass CBR.
...
Change-Id: I5df6abceb0a2a69706feadeb820b593cae88f573
2014-01-10 10:40:12 -08:00