Deb Mukherjee [Wed, 12 Feb 2014 17:20:31 +0000 (09:20 -0800)]
Merge "Removes active_worst_quality feedback"
Yunqing Wang [Wed, 12 Feb 2014 05:07:24 +0000 (21:07 -0800)]
Merge "Enable encode_breakout in real time encoding"
Dmitry Kovalev [Wed, 12 Feb 2014 01:36:05 +0000 (17:36 -0800)]
Merge "Hiding encode_b_args struct inside vp9_encodemb.c."
Deb Mukherjee [Tue, 11 Feb 2014 01:52:44 +0000 (17:52 -0800)]
Removes active_worst_quality feedback
Removes certain cases of feedback of active_worst_quality,
and removes it from the RATE_CONTROL structure. Now active
worst quality is expected to be computed locally in the
q picking function during the encode.
Making temporal filter strength depend on avg_frame_qindex
rather than on active_worst_quality actually improves
performance esp. for yt.
derf: +0.038%
yt: +0.359%
Change-Id: I1fe5a343034b55af9322289165321f00ac0827b1
Tom Finegan [Wed, 12 Feb 2014 00:14:43 +0000 (16:14 -0800)]
Merge "vpxenc: Silence MSVC warnings."
Yunqing Wang [Tue, 4 Feb 2014 19:09:34 +0000 (11:09 -0800)]
Enable encode_breakout in real time encoding
In real time encoding, we enable encode_breakout to make encoding
fast. A speed feature "use_encode_breakout" is defined to set
encode_breakout thresholds for different speeds.
However, currently, static_thresh is an encoder option. The encode_
breakout can be turned off if user sets static_thresh=0 specifically.
The rtc set borg test result: (need to set --static_thresh=1)
speed -5, psnr loss -3.543%;
speed -4, psnr loss -2.358%;
speed -3, psnr loss -0.771%.
Encoding speed test:
speed -5, 11% - 60% speedup;
speed -4, 5.5% - 28% speedup;
speed -3, 0.8% - 7% speedup.
Change-Id: Icde592ffbe77eac7446f872a2e9eb2051733677b
Dmitry Kovalev [Tue, 11 Feb 2014 23:20:41 +0000 (15:20 -0800)]
Merge "Disabling BasicRateTargeting3TemporalLayers test."
Tom Finegan [Tue, 11 Feb 2014 22:39:27 +0000 (14:39 -0800)]
Merge "vp9/common/x86: Silence MSVC warnings in vp9_asm_stubs.c."
Dmitry Kovalev [Tue, 11 Feb 2014 22:37:13 +0000 (14:37 -0800)]
Disabling BasicRateTargeting3TemporalLayers test.
Frank is going to fix it soon, disabling for now.
Change-Id: Ifb7092d7db5af01bde62897af189fd620b7bbdf3
Dmitry Kovalev [Tue, 11 Feb 2014 19:12:29 +0000 (11:12 -0800)]
Merge "Cleaning up compute_fast_motion_search_level()."
Dmitry Kovalev [Tue, 11 Feb 2014 18:19:59 +0000 (10:19 -0800)]
Merge "Fixing errorperbit calculation."
Tom Finegan [Mon, 10 Feb 2014 22:55:25 +0000 (14:55 -0800)]
vpxenc: Silence MSVC warnings.
Change-Id: I7dd8532052f0b2d4077f579e78db3987b58e3d2a
Tom Finegan [Tue, 11 Feb 2014 17:28:35 +0000 (09:28 -0800)]
Merge "vpx_temporal_scalable_patterns: Remove extra const."
Jingning Han [Tue, 11 Feb 2014 16:49:40 +0000 (08:49 -0800)]
Merge "Rework mode_info update in vp9_pick_inter_mode"
Jingning Han [Tue, 11 Feb 2014 16:49:35 +0000 (08:49 -0800)]
Merge "Use more meaningful names for speed features"
Frank Galligan [Tue, 11 Feb 2014 16:19:37 +0000 (08:19 -0800)]
Merge "Add get release decoder frame buffer functions."
Dmitry Kovalev [Tue, 11 Feb 2014 05:32:04 +0000 (21:32 -0800)]
Merge "Encoder quantization cleanup."
Tom Finegan [Tue, 11 Feb 2014 02:08:31 +0000 (18:08 -0800)]
vpx_temporal_scalable_patterns: Remove extra const.
Silences MSVC warning.
Change-Id: I43191cdd8f0231b259ec091be24325ec99d2e962
Dmitry Kovalev [Tue, 11 Feb 2014 01:30:29 +0000 (17:30 -0800)]
Merge "Cleaning up update_stats() function."
Dmitry Kovalev [Tue, 11 Feb 2014 01:29:40 +0000 (17:29 -0800)]
Merge "Making vp9_activity_masking() static."
Tom Finegan [Tue, 11 Feb 2014 00:42:34 +0000 (16:42 -0800)]
Merge "vpx_integer: Use inttypes.h in MSVC (2013 and later)."
Deb Mukherjee [Tue, 11 Feb 2014 00:38:19 +0000 (16:38 -0800)]
Merge "Further one-pass vbr rate control changes"
James Zern [Mon, 10 Feb 2014 23:39:28 +0000 (15:39 -0800)]
Merge "*.mk: s/\bUSE_X86INC/CONFIG_USE_X86INC/"
Tom Finegan [Mon, 10 Feb 2014 23:30:43 +0000 (15:30 -0800)]
vpx_integer: Use inttypes.h in MSVC (2013 and later).
Change-Id: I2c47f0ab13de82de8833c3f134e5f3c74394374f
Jingning Han [Mon, 10 Feb 2014 20:38:46 +0000 (12:38 -0800)]
Rework mode_info update in vp9_pick_inter_mode
This commit moves unnecessary mode_info update steps out of inter
mode test loop.
Change-Id: I3705450c44cda060021f4fd76c34f1b20d11658b
Jingning Han [Mon, 10 Feb 2014 20:03:02 +0000 (12:03 -0800)]
Use more meaningful names for speed features
Use frame_parameter_update to precisely describe the functionality.
Change-Id: Ia9a55ba8efef7b987e30d949dd00ac716189bdb9
Tom Finegan [Fri, 7 Feb 2014 05:42:03 +0000 (21:42 -0800)]
vp9/common/x86: Silence MSVC warnings in vp9_asm_stubs.c.
Update filter_1dfunction definition to match usage.
Change-Id: Ie3cae13dc1ec3f5838c5f29d1c76a1a98a9217fa
Yaowu Xu [Mon, 10 Feb 2014 22:50:01 +0000 (14:50 -0800)]
Merge "Merged two similar functions to reduce duplication"
Dmitry Kovalev [Mon, 10 Feb 2014 22:27:48 +0000 (14:27 -0800)]
Merge "Cleaning up {simple, twopass}_encoder examples."
Deb Mukherjee [Fri, 7 Feb 2014 23:52:41 +0000 (15:52 -0800)]
Further one-pass vbr rate control changes
Some parameter changes and fixes on one-pass rate control.
derfraw300 is now only 10% below 2-pass speed 0 rate control.
Change-Id: I1940eef8a5a035dc18e71b880d5e00cabd1f01b9
Dmitry Kovalev [Mon, 10 Feb 2014 22:14:18 +0000 (14:14 -0800)]
Merge "Cleaning up rd_check_segment_txsize() function."
Frank Galligan [Thu, 6 Feb 2014 01:44:42 +0000 (17:44 -0800)]
Add get release decoder frame buffer functions.
This CL changes libvpx to call a function when a frame buffer
is needed for decode. Libvpx will call a release callback when
no other frames reference the frame buffer. This CL adds a
default implementation of the frame buffer callbacks. Currently
only VP9 is supported. A future CL will add support for
applications to supply their own frame buffer callbacks.
Change-Id: I1405a320118f1cdd95f80c670d52b085a62cb10d
James Zern [Mon, 10 Feb 2014 21:20:31 +0000 (13:20 -0800)]
Merge "add_warning(): remove dead store"
Yaowu Xu [Mon, 10 Feb 2014 19:25:23 +0000 (11:25 -0800)]
Merged two similar functions to reduce duplication
Function encode_rtc_frame_internal() and encode_frame_internal() only
differed by a couple of speed features, this commit relocation those
difference into the setup of speed features and merged two functions
into one to remove duplication.
It also fixed a subtle bug super_fast_rtc was used before it was
initialized.
Change-Id: I234a5a1d11a4450930e5b4943dbab434208d5030
Jim Bankoski [Mon, 10 Feb 2014 19:35:12 +0000 (11:35 -0800)]
Merge "Convert small static header functions to inline"
Jim Bankoski [Mon, 10 Feb 2014 19:35:02 +0000 (11:35 -0800)]
Merge "Convert small static functions in header to inline.."
Jim Bankoski [Mon, 10 Feb 2014 19:34:56 +0000 (11:34 -0800)]
Merge "Convert small header functions to inline"
Jim Bankoski [Mon, 10 Feb 2014 19:34:51 +0000 (11:34 -0800)]
Merge "Convert header static functions to inline or make them global."
Jim Bankoski [Mon, 10 Feb 2014 19:34:43 +0000 (11:34 -0800)]
Merge "Converted functions in header to INLINE..."
Jim Bankoski [Mon, 10 Feb 2014 19:34:36 +0000 (11:34 -0800)]
Merge "Convert functions to inline that are small ."
Jim Bankoski [Mon, 10 Feb 2014 19:34:29 +0000 (11:34 -0800)]
Merge "Convert functions to inline that are in headers static."
Jim Bankoski [Mon, 10 Feb 2014 19:34:25 +0000 (11:34 -0800)]
Merge "Converted function to inline"
Jim Bankoski [Mon, 10 Feb 2014 19:34:17 +0000 (11:34 -0800)]
Merge "Converted short static functions to inline."
Dmitry Kovalev [Sun, 9 Feb 2014 09:15:44 +0000 (01:15 -0800)]
Fixing errorperbit calculation.
Change-Id: I06e082a18dbcc6e126cf288ee769c1480e3f2f4d
Marco Paniconi [Fri, 7 Feb 2014 22:25:27 +0000 (14:25 -0800)]
Some updates and fixes for layered CBR mode.
-Properly set the average frame size for each layer.
-Allow each layer to update its average/last Q stats after encoding.
-Initialize for some layer context variables.
Change-Id: Iaa37d144fcf4f30ff4283a4e8db8b9ca8bf4c815
Jim Bankoski [Mon, 10 Feb 2014 04:19:37 +0000 (20:19 -0800)]
Convert small static header functions to inline
Change-Id: I467b28346a0d8d4d8b96d6c05fc39c34eec26e5c
Jim Bankoski [Mon, 10 Feb 2014 04:18:40 +0000 (20:18 -0800)]
Convert small static functions in header to inline..
Change-Id: Ic4fc01be7738fbabf8c7860dbe3476ab4caf5fc2
Jim Bankoski [Mon, 10 Feb 2014 04:17:33 +0000 (20:17 -0800)]
Convert small header functions to inline
Change-Id: I4e5575f0d7ccfe2361b8cbf78e7dc079272c9f5f
Jim Bankoski [Mon, 10 Feb 2014 15:39:12 +0000 (07:39 -0800)]
Convert header static functions to inline or make them global.
Change-Id: Ib26fbfef3505299f754e5af6c437a85d7746fc28
Jim Bankoski [Mon, 10 Feb 2014 04:12:04 +0000 (20:12 -0800)]
Converted functions in header to INLINE...
Change-Id: I00512c6cef3a4af8df57c7263ceb853fb2db8140
Jim Bankoski [Mon, 10 Feb 2014 04:08:58 +0000 (20:08 -0800)]
Convert functions to inline that are small .
Change-Id: I3b160e93d9319c8e1abda2a60f49f89c409d534b
Jim Bankoski [Mon, 10 Feb 2014 04:06:35 +0000 (20:06 -0800)]
Convert functions to inline that are in headers static.
Change-Id: If1ec3b64be327e8c48ec7efbacde208d2129fdb0
Jim Bankoski [Mon, 10 Feb 2014 04:04:54 +0000 (20:04 -0800)]
Converted function to inline
Change-Id: Iaa4880c8a207cfea509608e1ef4593794b6b31f2
Jim Bankoski [Mon, 10 Feb 2014 03:58:54 +0000 (19:58 -0800)]
Converted short static functions to inline.
Change-Id: I859719d41ced2e35d2765b636e627bb7edc3651e
Dmitry Kovalev [Sun, 9 Feb 2014 04:18:37 +0000 (20:18 -0800)]
Cleaning up rd_check_segment_txsize() function.
Change-Id: I7c09f84b26eb499daafd1393b48f12abb8a6fb8f
Dmitry Kovalev [Sun, 9 Feb 2014 03:41:37 +0000 (19:41 -0800)]
Making vp9_activity_masking() static.
Change-Id: Ic6a733f1fe92458da89c8459c5686ba1e08b92bf
Dmitry Kovalev [Sun, 9 Feb 2014 03:30:45 +0000 (19:30 -0800)]
Hiding encode_b_args struct inside vp9_encodemb.c.
Change-Id: I5bcd32874f8a8a693e3eb68ef6728dfbf5475bda
James Zern [Sat, 8 Feb 2014 21:10:27 +0000 (13:10 -0800)]
add_warning(): remove dead store
Change-Id: I5cfc0aa9c436c7ba1b49337d06a0181f7cda920f
James Zern [Sat, 8 Feb 2014 19:43:20 +0000 (11:43 -0800)]
Merge "vp9_dthread: interleave mutex/cond alloc+init"
Tom Finegan [Sat, 8 Feb 2014 02:34:44 +0000 (18:34 -0800)]
Merge "vp9/common: Silence MSVC warning in vp9_convolve.c."
Dmitry Kovalev [Sat, 8 Feb 2014 02:14:32 +0000 (18:14 -0800)]
Merge "Fixing undefined behavior vp9_peek_si()."
Dmitry Kovalev [Sat, 8 Feb 2014 02:14:01 +0000 (18:14 -0800)]
Merge "Removing references to nonexistent functions."
James Zern [Sat, 8 Feb 2014 00:45:24 +0000 (16:45 -0800)]
Merge "Remove unnecessary local variables."
Dmitry Kovalev [Sat, 8 Feb 2014 00:45:19 +0000 (16:45 -0800)]
Removing references to nonexistent functions.
Change-Id: Ib093d2b9030006806ef9eba16c114f25a58e8f6b
Dmitry Kovalev [Sat, 8 Feb 2014 00:39:40 +0000 (16:39 -0800)]
Cleaning up compute_fast_motion_search_level().
Change-Id: I151bd3de689bceb72969120095257c37656db92f
Dmitry Kovalev [Sat, 8 Feb 2014 00:04:40 +0000 (16:04 -0800)]
Merge "Cleaning up vp9_ratectl.c."
Dmitry Kovalev [Fri, 7 Feb 2014 23:19:54 +0000 (15:19 -0800)]
Cleaning up update_stats() function.
Change-Id: I9139210fc6b9878de7844d74dd97784a6d289230
Dmitry Kovalev [Thu, 6 Feb 2014 01:54:17 +0000 (17:54 -0800)]
Cleaning up vp9_ratectl.c.
Change-Id: I13738ef1f307cc5f563126bc7a92beaa01fde3bd
Yunqing Wang [Fri, 7 Feb 2014 22:27:07 +0000 (14:27 -0800)]
Bug fix in ssse3 quantize function
A bug was reported in Issue 702: "SIGILL (Illegal instruction) when
transcoding with vp9 - using FFmpeg". It was reproduced and fixed.
Change-Id: Ie32c149a89af02856084aeaf289e848a905c7700
Dmitry Kovalev [Fri, 7 Feb 2014 22:21:19 +0000 (14:21 -0800)]
Fixing undefined behavior vp9_peek_si().
Bitwise OR operation doesn't guarantee any subexpression evaluation order.
Just reading one bit now and ignoring the next one. For reference look at
vp9_decode_frame() implementation.
Change-Id: I4971686929838ae5ded8f43a38a2934db5e1d462
Dmitry Kovalev [Fri, 7 Feb 2014 19:37:39 +0000 (11:37 -0800)]
Cleaning up {simple, twopass}_encoder examples.
Change-Id: Ide9c408f4cee7408741ef8c0ffac01645a5a67ca
Dmitry Kovalev [Thu, 6 Feb 2014 22:20:58 +0000 (14:20 -0800)]
Converting vpx_temporal_scalable_patterns to use VpxVideoWriter.
Change-Id: I69e868295b9798ba1599a411926de0891680032f
Dmitry Kovalev [Fri, 7 Feb 2014 19:05:25 +0000 (11:05 -0800)]
Merge "Moving twopass_rc and FIRSTPASS_STATS to vp9_firstpass.h."
Tom Finegan [Fri, 7 Feb 2014 05:24:08 +0000 (21:24 -0800)]
vp9/common: Silence MSVC warning in vp9_convolve.c.
Added cast to int to silence MSVC warning.
Change-Id: I9ef4709d2e4cf0db070d9e52385c1b3f138b00a5
Tom Finegan [Fri, 7 Feb 2014 00:32:09 +0000 (16:32 -0800)]
vp8/encoder: Silence MSVC warnings in firstpass.c.
Added some casts to int to silence MSVC warnings.
Change-Id: I72481ec2abd12110cf87a3d0da7a1cbe9ef2f47c
Dmitry Kovalev [Thu, 6 Feb 2014 22:45:15 +0000 (14:45 -0800)]
Merge "Fixing c++ compiler errors in svc_encodeframe.c."
Deb Mukherjee [Thu, 6 Feb 2014 22:31:54 +0000 (14:31 -0800)]
Merge "Parameter fixes for one-pass non-cbr mode"
Dmitry Kovalev [Thu, 6 Feb 2014 21:49:58 +0000 (13:49 -0800)]
Fixing c++ compiler errors in svc_encodeframe.c.
Change-Id: I242035d433f6d4027252cb8aa7d938c4170a2d65
Deb Mukherjee [Thu, 6 Feb 2014 00:19:11 +0000 (16:19 -0800)]
Parameter fixes for one-pass non-cbr mode
Fixes some of the parameters for 1-pass non-cbr mode.
Also includes some cleanups, inlcuding refactoring of the
recode_loop options.
Results on derfraw300 improve by about 5-6%, so that the one-pass
mode is now 13% below the 2-pass mode in speed 0.
Change-Id: I844cc2638694c7574f3be00d41d60b23dc1016f0
Adrian Grange [Thu, 6 Feb 2014 21:40:42 +0000 (13:40 -0800)]
Merge "Remove out of date comment."
Adrian Grange [Wed, 5 Feb 2014 17:47:14 +0000 (09:47 -0800)]
Remove unnecessary local variables.
Change-Id: I1cdcd847f258967534ef30ba15894b486f1519a8
Dmitry Kovalev [Thu, 6 Feb 2014 20:52:32 +0000 (12:52 -0800)]
Merge "Adding video reader/writer APIs."
Dmitry Kovalev [Thu, 6 Feb 2014 20:50:16 +0000 (12:50 -0800)]
Merge "Using vpx_codec_err_t instead of int."
James Zern [Thu, 6 Feb 2014 07:19:26 +0000 (23:19 -0800)]
vp9_dthread: interleave mutex/cond alloc+init
this ensures both are properly initialized when calling _dealloc().
+ check the arrays before access
Change-Id: I789af39b41c271b5cb3c029526581b4d9903b895
Dmitry Kovalev [Thu, 6 Feb 2014 19:54:15 +0000 (11:54 -0800)]
Finally removing "short" from transform names.
Change-Id: I5259b68dc1bcceb153e3ffe638a79a59a3019e9d
Dmitry Kovalev [Thu, 6 Feb 2014 19:25:57 +0000 (11:25 -0800)]
Using vpx_codec_err_t instead of int.
This fixes errors generated by c++ compiler.
Change-Id: I0f792371790b5e6462b77c8d7fabab0db30b11eb
Dmitry Kovalev [Thu, 6 Feb 2014 19:06:00 +0000 (11:06 -0800)]
Merge "Adding is_mv_in() function."
Marco Paniconi [Thu, 6 Feb 2014 17:23:17 +0000 (09:23 -0800)]
Layer based rate control for CBR mode.
This patch adds a buffer-based rate control for temporal layers,
under CBR mode.
Added vpx_temporal_scalable_patters.c encoder for testing temporal
layers, for both vp9 and vp8 (replaces the old vp8_scalable_patterns).
Updated datarate unittest with tests for temporal layer rate-targeting.
Change-Id: I8900a854288b9354d9c697cfeb0243a9fd6790b1
James Zern [Thu, 6 Feb 2014 07:01:52 +0000 (23:01 -0800)]
Merge "vp8_set_maps.c: silence some type warnings"
Ralph Giles [Mon, 3 Feb 2014 19:42:45 +0000 (11:42 -0800)]
libmkv: fix Makefile.
Update the local makefile to build all the files and the test
application by default to simplify build verification.
Change-Id: Ic10141ea14c85110ff7507447d16297b77d296e9
Dmitry Kovalev [Thu, 6 Feb 2014 02:34:46 +0000 (18:34 -0800)]
Adding video reader/writer APIs.
Right now only IVF format is supported which is enough for example code.
Other formats like y4m, webm, raw yuv will be supported later.
Change-Id: I34c6f20731c1851947587ca5c589d7856b675164
James Zern [Thu, 6 Feb 2014 03:33:39 +0000 (19:33 -0800)]
vp8_set_maps.c: silence some type warnings
Change-Id: I371863fc68f4984a223a684f9e89b25e9991e1e7
James Zern [Thu, 6 Feb 2014 03:08:56 +0000 (19:08 -0800)]
Merge "vp8_scalable_patterns: silence a few warnings"
James Zern [Thu, 6 Feb 2014 02:51:40 +0000 (18:51 -0800)]
Merge "examples.mk: build examples/*.c directly"
James Zern [Thu, 6 Feb 2014 02:47:24 +0000 (18:47 -0800)]
Merge "configure: use -Werror when testing CXX flags w/clang"
James Zern [Thu, 6 Feb 2014 02:45:51 +0000 (18:45 -0800)]
Merge "update .gitignore"
Dmitry Kovalev [Thu, 6 Feb 2014 02:39:08 +0000 (18:39 -0800)]
Merge "Removing redundant is_inter_mode() call."
Dmitry Kovalev [Thu, 6 Feb 2014 02:38:38 +0000 (18:38 -0800)]
Merge "Cleaning up vp9_get_pred_context_single_ref_p1()."
Dmitry Kovalev [Thu, 6 Feb 2014 02:37:49 +0000 (18:37 -0800)]
Merge "Removing "_1d" suffix from mips transform code."
Dmitry Kovalev [Thu, 6 Feb 2014 02:37:20 +0000 (18:37 -0800)]
Merge "Renaming vp9_sad_c.c to vp9_sad.c."