summaryrefslogtreecommitdiff
path: root/vpx
AgeCommit message (Collapse)Author
2014-04-03Add codec control function for enabling frame_periodic_boost.Marco Paniconi
Change-Id: I6371ef7301c6bc3138552bd349e9bd154dee3e08
2014-03-27[svc] Fix issue for setting layers through ffmpegMinghai Shang
Root cause is number of spatial layers is set through parse_options() when running from ffmpeg. Change-Id: Icd79cd13fd76e8712150d803838a33fee9117dcb
2014-03-21[svc] Add min/max q and min/max bitrate in svc test appMinghai Shang
Change-Id: I67ea45119f23659279d24aa67eb823c751ac86fc
2014-03-19[svc] Finalize spatial svc first pass rate controlMinghai Shang
1. Save stats for each spatial layer 2. Add frame buffer management for svc first pass rc 3. Set default spatial layer to 1 4. Flush encoder at the end of stream in test app This only supports spatial svc. Change-Id: Ia89cfa87bb6394e6c0405b921d86c426d0a0c9ae
2014-03-14svc_encodeframe: quiet -Warray-bounds warningsJames Zern
si->layers is validated prior to assignment; add an assertion prior to first use as a loop bound Change-Id: I727d4e24be3c352c3e5320d92e89d3f787944812
2014-03-10Adding type casts to remove C++ compiler errors.Dmitry Kovalev
Change-Id: I224e49955ad6c833d204feb8efc4056e37d206be
2014-02-28[svc] 1. Add two pass RC options in vp9_spatial_scalable_encoder.Minghai Shang
2. Add read/write for RC stats file The two pass RC for svc does not work yet. This is just the first step. We need further development to make it working. Change-Id: I8ef0e177dff0b5ed3c97a916beea5123717cc6f2
2014-02-28Merge "[svc] Fix "possible loss of data", "division by zero" and "index 5 ↵Minghai Shang
out of bounds for type" compiler warings"
2014-02-28Merge "Cleaning up vpx_codec_get_cx_data() function."Dmitry Kovalev
2014-02-28[svc] Fix "possible loss of data", "division by zero" andMinghai Shang
"index 5 out of bounds for type" compiler warings Change-Id: I414d39198cb02d1b8e2330002ed5fe062aaea95e
2014-02-27Merge "[svc] Add target bitrate settings for each layers."Minghai Shang
2014-02-27Merge "Change for adding QP settings for key frames"Minghai Shang
2014-02-26Merge "Adding vpx_sse_to_psnr() function."Dmitry Kovalev
2014-02-26Adding vpx_sse_to_psnr() function.Dmitry Kovalev
Removing all copies of identical vp8_mse2psnr/vp9_mse2psnr functions. Using vpx_sse_to_psnr() instead in all places. Change-Id: I15beef9834d43d8fc8a8a7a2d1fc5de3d658fed8
2014-02-26log overall psnr, average psnr, and overall mseIvan Maltz
Change-Id: I0b4fa1f8104b7fa5780d4e99e5401c14271a992d
2014-02-26[svc] Add target bitrate settings for each layers.Minghai Shang
Change-Id: Ia7677fb436667bc4f76db71f65e4784f433f7826
2014-02-26Change for adding QP settings for key framesMinghai Shang
Change-Id: I4dcabb60cb1185eb9a2efa18b50f17af272d2cd6
2014-02-20vp8cx.h: add brief desc. for VP9E_SET_SVC_LAYER_IDJames Zern
fixes doxygen warning related to vpx_svc_layer_id Change-Id: I365688133c1598182488501158de6af4b0f4c546
2014-02-19Merge "Fixed compilation on mingw with secure APIs enabled by default."James Zern
2014-02-19Merge "vpx_frame_buffer.h: add doxygen \file block"James Zern
2014-02-18Add comments to portion of SVC interface.Marco Paniconi
Fixes issue #705. Change-Id: I60d45ee28fb34f401a440015bfe7bd3837b51de1
2014-02-14Fixed compilation on mingw with secure APIs enabled by default.Jacek Caban
If MINGW_HAS_SECURE_API is defined, we don't need to declare strtok_s, but we still need strtok_r define. Change-Id: I7cf781bb58f991a2bdce6a2ccf5082f6924579a3
2014-02-14vpx_frame_buffer.h: add doxygen \file blockJames Zern
the remainder of the documentation will not be included in the output unless the file itself is documented Change-Id: I5a83a6c41cdfbf2976da288e4b70bd04002725f2
2014-02-13Add VP9 decoder support for external frame buffersFrank Galligan
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
2014-02-13Cleaning up vpx_codec_get_cx_data() function.Dmitry Kovalev
Change-Id: I1cd7f0502a28dfe65449ff04d70498b2e92c3823
2014-02-11Merge "Add get release decoder frame buffer functions."Frank Galligan
2014-02-10vpx_integer: Use inttypes.h in MSVC (2013 and later).Tom Finegan
Change-Id: I2c47f0ab13de82de8833c3f134e5f3c74394374f
2014-02-10Add get release decoder frame buffer functions.Frank Galligan
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
2014-02-06Fixing c++ compiler errors in svc_encodeframe.c.Dmitry Kovalev
Change-Id: I242035d433f6d4027252cb8aa7d938c4170a2d65
2014-02-06Using vpx_codec_err_t instead of int.Dmitry Kovalev
This fixes errors generated by c++ compiler. Change-Id: I0f792371790b5e6462b77c8d7fabab0db30b11eb
2014-02-06Layer based rate control for CBR mode.Marco Paniconi
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
2014-02-03Revert "Layer based rate control for CBR mode."Marco Paniconi
This reverts commit 6be2b750b8968a0b19180a6474864c0b6a41db13 Change-Id: Ic52acd98b37c3ba49d4999b463389eb564f49c4b
2014-02-02Layer based rate control for CBR mode.Marco Paniconi
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: I9cb6cce2494390ae6096ee17774af7fb9308bde7
2014-01-24Merge "Revert external frame buffer code."Frank Galligan
2014-01-24Revert external frame buffer code.Frank Galligan
A future CL will add external frame buffers differently. Squash commit of four revert commits: Revert "Increase required number of external frame buffers" This reverts commit 9e41d569d7c84dd9ca8f0047c15377a883945685. Revert "Add external constants." This reverts commit bbf53047b03106e3c2e24b28cb836cc838db5ee8. Revert "Add frame buffer lru cache." This reverts commit fbada948fa345e67acf9aa41a8f9a78f5dfe8648. Conflicts: vpxdec.c Change-Id: I76fe42419923a6ea6c75d9997cbbf941d73d3005 Revert "Add support to pass in external frame buffers." This reverts commit 10f891696bc4c972c13cc9fde2c53470501a03e2. Conflicts: test/external_frame_buffer_test.cc vp9/common/vp9_alloccommon.c vp9/common/vp9_reconinter.c vp9/decoder/vp9_decodeframe.c vp9/encoder/vp9_onyx_if.c vp9/vp9_dx_iface.c vpx/vpx_decoder.h vpx/vpx_external_frame_buffer.h vpx_scale/generic/yv12config.c vpxdec.c Change-Id: I7434cf590f1c852b38569980e4247fad0d939c2e
2014-01-23vpx: add extern "C" to headersJames Zern
Change-Id: Ide9a68466ed30453872465a6c2f9c414690df876
2014-01-06Write correct resolution to the IVF file header (b/11270652)Charles 'Buck' Krasic
also: o remove dead code, create_dummy_frame o Fix a bug in command line handling that caused a segfault if wrong number of arguments were given. Change-Id: I78f026aee4e363967b750e6cde0982659c558a1f
2013-12-27Removing vpx_codec_vp9x_cx and internal experimental flag.Dmitry Kovalev
vpx_codec_vp9x_cx is not used internally. Experimental flag from vp9_extracfg is also not really used. YUV 4:4:4 just works after these changes (you have to specify --profile=1 for the encoder). Change-Id: Ib1c8461d0d19d159827e005efe868f891eea0140
2013-12-18Fix to overflow in asan test (for vp8 encoder).Marco Paniconi
Change-Id: Ie67339ab3a16ce7669b5366a743812df93c52711
2013-12-17Increase required number of external frame buffersFrank Galligan
Make applications pass in VPX_MAXIMUM_WORK_BUFFERS as well as VP9_MAXIMUM_REF_BUFFERS. Change-Id: I9c07ce83fa19c90ed43227b801b2013690e81edd
2013-12-17Add external constants.Frank Galligan
Change-Id: I8d329513c87bd8622306aba27c83bf04ef170fa4
2013-12-16vpx: normalize include guardsJames Zern
Change-Id: Iee670353cffa1f9e97976ac507ad9519e5dda7f7
2013-12-16Include files in the same directory directlyJohann
Change-Id: I56706a8326d9356a6735d13eb5e0832d04221c91
2013-12-15Add frame buffer lru cache.Frank Galligan
Add an option for libvpx to return the least recently used frame buffer. Change-Id: I886a96ffb94984f1c42de53086e0131922df3260
2013-12-15Add support to pass in external frame buffers.Frank Galligan
VP9 decoder can now use frame buffers passed in by the application. Change-Id: I599527ec85c577f3f5552831d79a693884fafb73
2013-12-05Fix bug with put slice cb function.Frank Galligan
Change-Id: Idfbd87d0a4bebdce7dd587c8446e7fa75b030d91
2013-12-04Modified spatial scalable encoder & unit testsAdrian Grange
Modifications to the spatial scalable encoder to match changes made to the scaling code in the decoder. In particular, the use of a dummy first frame was removed now that the decoder is able to handle a smaller first frame. SvcTest.FirstFrameHasLayers unit test re-enabled. Change-Id: Ic2e91fbe4eadf95895569947670d36d68abaf458
2013-11-22Fix decoder to handle display size correctlyAdrian Grange
The decoder ignored the display width & height specified in the frame header. This patch adds a control, VP9D_GET_DISPLAY_SIZE, to allow the application to obtain the display width and height from the frame header. vpxdec has been modified to scale the output frame to this size. Should the request for the display size fail vpxdec will use the native width and height of the raw decoded frame instead. Change-Id: I25db04407426dac730263720c75a7dd6400af68a
2013-11-15vpxenc: add --aq-mode flag to control adaptive quantizationGuillaume Martres
Change-Id: I57e1ad4bed3487df12893ced77c49093f8755706
2013-11-06Merge "Move SVC per-frame loop from sample app into libvpx proper"Ivan Maltz