]>
granicus.if.org Git - libvpx/log
Frank Galligan [Fri, 7 Feb 2014 01:13:08 +0000 (17:13 -0800)]
Add VP9 decoder support for external frame buffers
Added support for external frame buffers to libvpx's VP9 decoder.
If the external frame buffer functions are set then libvpx will
call the get function whenever it needs a new frame buffer to
decode a frame into. And it will call the release function
whenever there are no more references to that buffer.
Change-Id: Id2934d005f606af6e052fb6db0d5b7c02f567522
Frank Galligan [Wed, 12 Feb 2014 22:38:26 +0000 (14:38 -0800)]
Merge "Fix frames that have no references to them."
Dmitry Kovalev [Wed, 12 Feb 2014 20:14:34 +0000 (12:14 -0800)]
Merge "Cleaning up vp9_full_search_sad_c() function."
Dmitry Kovalev [Wed, 12 Feb 2014 20:11:14 +0000 (12:11 -0800)]
Merge "Removing vp9_foreach_transformed_block_uv() function."
Adrian Grange [Wed, 12 Feb 2014 19:14:10 +0000 (11:14 -0800)]
Merge "Minor cleanup."
Jingning Han [Wed, 12 Feb 2014 18:26:06 +0000 (10:26 -0800)]
Merge "Use INTER_OFFSET in vp9_pick_inter_mode"
Yaowu Xu [Wed, 12 Feb 2014 18:13:49 +0000 (10:13 -0800)]
Merge "Fixed a bug where no valid partition is allowed"
Johann [Wed, 12 Feb 2014 17:41:30 +0000 (09:41 -0800)]
Merge "Skip COMDAT sections when parsing COFF"
Deb Mukherjee [Wed, 12 Feb 2014 17:20:31 +0000 (09:20 -0800)]
Merge "Removes active_worst_quality feedback"
Adrian Grange [Wed, 5 Feb 2014 17:45:13 +0000 (09:45 -0800)]
Minor cleanup.
Change-Id: I6ef0ce5371ed9e2a415dd8c08c93ad603f0ad7b2
Jingning Han [Mon, 10 Feb 2014 20:54:56 +0000 (12:54 -0800)]
Use INTER_OFFSET in vp9_pick_inter_mode
Cosmetic change to use pre-defined macros.
Change-Id: I93e9fa90113d0242599048940b39694660385a6f
Yaowu Xu [Tue, 11 Feb 2014 01:19:36 +0000 (17:19 -0800)]
Fixed a bug where no valid partition is allowed
Change-Id: I4d2729dc5c46db2847700256941a66b0957c105d
Yunqing Wang [Wed, 12 Feb 2014 05:07:24 +0000 (21:07 -0800)]
Merge "Enable encode_breakout in real time encoding"
Frank Galligan [Wed, 12 Feb 2014 02:33:02 +0000 (18:33 -0800)]
Fix frames that have no references to them.
BasicRateTargeting3TemporalLayers found an error with
the get/release frame buffer management.
Change-Id: Iccff25cba1d2f276f2a0d0fb7b20cf99b4405549
Dmitry Kovalev [Wed, 12 Feb 2014 02:06:00 +0000 (18:06 -0800)]
Removing vp9_foreach_transformed_block_uv() function.
Change-Id: I35ec77b71e6fd686865cead9281e4dd9e9bc9e86
Dmitry Kovalev [Wed, 12 Feb 2014 01:36:05 +0000 (17:36 -0800)]
Merge "Hiding encode_b_args struct inside vp9_encodemb.c."
Dmitry Kovalev [Tue, 11 Feb 2014 19:52:30 +0000 (11:52 -0800)]
Cleaning up vp9_full_search_sad_c() function.
Change-Id: Ief941ff75c5e25f3288326a162b1bd0c0f17a779
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