Граф коммитов

193 Коммитов

Автор SHA1 Сообщение Дата
Adrian Grange 8b2b7370b5 Merge "Revert "Force ARNR filtering to be centered on the ARF frame"" 2014-05-02 08:13:06 -07:00
Peter de Rivaz e97aea285b Added 16bit vpx_img_fmt_t enums
Added in preparation for modifications to support high bitdepth
operations.

Change-Id: I1ad403ea8886cb84020ff06807ae25e2e4bff608
2014-04-30 10:03:27 -07:00
Adrian Grange 0a386b9234 Revert "Force ARNR filtering to be centered on the ARF frame"
This reverts commit 59e733ca81.

Hold off removing arnr_type to give users the opportunity
to change their script files to handle its deprecation. A
follow-up patch will mark the control for setting arnr_type
as deprecated and it will be removed completely in a later
revision of the code.

Change-Id: I8b817c744e144d3714234a4cd4309816d0c7e3e8
2014-04-29 11:04:01 -07:00
Joey Parrish 18c08607e0 Add VPXD_SET_DECRYPTOR support to the VP9 decoder.
Change-Id: I88f86c8ff9af34e0b6531028b691921b54c2fc48
2014-04-23 16:11:54 -07:00
Adrian Grange f7bd1274e3 Enable vpxenc to specify internal coded frame size
Added command line flags "resize-width" & "resize-height"
to allow the user to specify the frame size to encode at.

These two flags are ignored if the "resize-allowed" switch
is not set to 1.

All frames in the clip are then encoded at this size, which
must be smaller than the raw frame size.

Change-Id: I3d64bd9303d5c0bd678461a866a1ea621700d744
2014-04-14 10:54:19 -07:00
Marco Paniconi 0eb88c9064 Add codec control function for enabling frame_periodic_boost.
Change-Id: I6371ef7301c6bc3138552bd349e9bd154dee3e08
2014-04-03 15:49:03 -07:00
Minghai Shang d4124ea317 [svc] Fix issue for setting layers through ffmpeg
Root cause is number of spatial layers is set through
parse_options() when running from ffmpeg.

Change-Id: Icd79cd13fd76e8712150d803838a33fee9117dcb
2014-03-27 15:51:34 -07:00
Minghai Shang 6c3c66fb7f [svc] Add min/max q and min/max bitrate in svc test app
Change-Id: I67ea45119f23659279d24aa67eb823c751ac86fc
2014-03-21 17:32:30 -07:00
Minghai Shang d205335060 [svc] Finalize spatial svc first pass rate control
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-19 11:06:20 -07:00
James Zern 6c0565a4cc svc_encodeframe: quiet -Warray-bounds warnings
si->layers is validated prior to assignment; add an assertion prior to
first use as a loop bound

Change-Id: I727d4e24be3c352c3e5320d92e89d3f787944812
2014-03-14 18:37:20 -07:00
Dmitry Kovalev 6281a9abbb Adding type casts to remove C++ compiler errors.
Change-Id: I224e49955ad6c833d204feb8efc4056e37d206be
2014-03-10 14:53:30 -07:00
Minghai Shang b0c146eea9 [svc] 1. Add two pass RC options in vp9_spatial_scalable_encoder.
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-28 14:22:57 -08:00
Minghai Shang 0bbc7f9825 Merge "[svc] Fix "possible loss of data", "division by zero" and "index 5 out of bounds for type" compiler warings" 2014-02-28 11:50:48 -08:00
Dmitry Kovalev d6321c3e68 Merge "Cleaning up vpx_codec_get_cx_data() function." 2014-02-28 11:31:43 -08:00
Minghai Shang e526c04872 [svc] Fix "possible loss of data", "division by zero" and
"index 5 out of bounds for type" compiler warings

Change-Id: I414d39198cb02d1b8e2330002ed5fe062aaea95e
2014-02-28 10:30:20 -08:00
Minghai Shang 3a8deeb8b6 Merge "[svc] Add target bitrate settings for each layers." 2014-02-27 10:51:26 -08:00
Minghai Shang 20da0653f4 Merge "Change for adding QP settings for key frames" 2014-02-27 10:50:02 -08:00
Dmitry Kovalev e4118e253a Merge "Adding vpx_sse_to_psnr() function." 2014-02-26 18:38:26 -08:00
Dmitry Kovalev 7d5bffc452 Adding vpx_sse_to_psnr() function.
Removing all copies of identical vp8_mse2psnr/vp9_mse2psnr functions.
Using vpx_sse_to_psnr() instead in all places.

Change-Id: I15beef9834d43d8fc8a8a7a2d1fc5de3d658fed8
2014-02-26 16:21:12 -08:00
Ivan Maltz 74e1830b05 log overall psnr, average psnr, and overall mse
Change-Id: I0b4fa1f8104b7fa5780d4e99e5401c14271a992d
2014-02-26 14:18:51 -08:00
Minghai Shang 8c196b27b3 [svc] Add target bitrate settings for each layers.
Change-Id: Ia7677fb436667bc4f76db71f65e4784f433f7826
2014-02-26 13:30:50 -08:00
Minghai Shang c79bd22a5f Change for adding QP settings for key frames
Change-Id: I4dcabb60cb1185eb9a2efa18b50f17af272d2cd6
2014-02-26 11:19:06 -08:00
James Zern 53a11c9ce7 vp8cx.h: add brief desc. for VP9E_SET_SVC_LAYER_ID
fixes doxygen warning related to vpx_svc_layer_id

Change-Id: I365688133c1598182488501158de6af4b0f4c546
2014-02-20 23:19:07 -08:00
James Zern fdb2337b01 Merge "Fixed compilation on mingw with secure APIs enabled by default." 2014-02-19 21:00:09 -08:00
James Zern c467095450 Merge "vpx_frame_buffer.h: add doxygen \file block" 2014-02-19 11:41:18 -08:00
Marco Paniconi 89ec990421 Add comments to portion of SVC interface.
Fixes issue #705.

Change-Id: I60d45ee28fb34f401a440015bfe7bd3837b51de1
2014-02-18 18:52:16 -08:00
Jacek Caban aed2ca4b39 Fixed compilation on mingw with secure APIs enabled by default.
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-14 20:13:56 -08:00
James Zern c8175adc0b vpx_frame_buffer.h: add doxygen \file block
the remainder of the documentation will not be included in the output
unless the file itself is documented

Change-Id: I5a83a6c41cdfbf2976da288e4b70bd04002725f2
2014-02-14 13:08:51 -08:00
Frank Galligan a4f30a5023 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
2014-02-13 13:14:19 -08:00
Dmitry Kovalev 955b35d983 Cleaning up vpx_codec_get_cx_data() function.
Change-Id: I1cd7f0502a28dfe65449ff04d70498b2e92c3823
2014-02-13 11:50:13 -08:00
Frank Galligan d51ca0db00 Merge "Add get release decoder frame buffer functions." 2014-02-11 08:19:37 -08:00
Tom Finegan 7320fdda38 vpx_integer: Use inttypes.h in MSVC (2013 and later).
Change-Id: I2c47f0ab13de82de8833c3f134e5f3c74394374f
2014-02-10 15:30:43 -08:00
Frank Galligan e8e152799b 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
2014-02-10 14:08:11 -08:00
Dmitry Kovalev dd776e8c36 Fixing c++ compiler errors in svc_encodeframe.c.
Change-Id: I242035d433f6d4027252cb8aa7d938c4170a2d65
2014-02-06 13:49:58 -08:00
Dmitry Kovalev 64279307c4 Using vpx_codec_err_t instead of int.
This fixes errors generated by c++ compiler.

Change-Id: I0f792371790b5e6462b77c8d7fabab0db30b11eb
2014-02-06 11:25:57 -08:00
Marco Paniconi 4864ab21b0 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
2014-02-06 09:24:45 -08:00
Marco Paniconi 7ec838edc4 Revert "Layer based rate control for CBR mode."
This reverts commit 6be2b750b8

Change-Id: Ic52acd98b37c3ba49d4999b463389eb564f49c4b
2014-02-03 12:28:32 -08:00
Marco Paniconi 6be2b750b8 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: I9cb6cce2494390ae6096ee17774af7fb9308bde7
2014-02-02 14:30:43 -08:00
Frank Galligan c6d537155c Merge "Revert external frame buffer code." 2014-01-24 11:31:23 -08:00
Frank Galligan b1c72b633e Revert external frame buffer code.
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 9e41d569d7.

Revert "Add external constants."

This reverts commit bbf53047b0.

Revert "Add frame buffer lru cache."

This reverts commit fbada948fa.

Conflicts:
	vpxdec.c

Change-Id: I76fe42419923a6ea6c75d9997cbbf941d73d3005

Revert "Add support to pass in external frame buffers."

This reverts commit 10f891696b.

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-24 10:10:20 -08:00
James Zern ec7f2133d0 vpx: add extern "C" to headers
Change-Id: Ide9a68466ed30453872465a6c2f9c414690df876
2014-01-23 16:22:14 -08:00
Charles 'Buck' Krasic 8aa33ed6b1 Write correct resolution to the IVF file header (b/11270652)
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
2014-01-06 14:18:38 -08:00
Dmitry Kovalev 116e0a1ab7 Removing vpx_codec_vp9x_cx and internal experimental flag.
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-27 14:01:12 -08:00
Marco Paniconi 6efb0ab9b2 Fix to overflow in asan test (for vp8 encoder).
Change-Id: Ie67339ab3a16ce7669b5366a743812df93c52711
2013-12-18 14:12:29 -08:00
Frank Galligan 9e41d569d7 Increase required number of external frame buffers
Make applications pass in VPX_MAXIMUM_WORK_BUFFERS as well as
VP9_MAXIMUM_REF_BUFFERS.

Change-Id: I9c07ce83fa19c90ed43227b801b2013690e81edd
2013-12-17 17:34:36 -08:00
Frank Galligan bbf53047b0 Add external constants.
Change-Id: I8d329513c87bd8622306aba27c83bf04ef170fa4
2013-12-17 17:28:23 -08:00
James Zern 7386bde9d2 vpx: normalize include guards
Change-Id: Iee670353cffa1f9e97976ac507ad9519e5dda7f7
2013-12-16 19:41:05 -08:00
Johann e883c7478d Include files in the same directory directly
Change-Id: I56706a8326d9356a6735d13eb5e0832d04221c91
2013-12-16 15:46:05 -08:00
Frank Galligan fbada948fa Add frame buffer lru cache.
Add an option for libvpx to return the least recently used
frame buffer.

Change-Id: I886a96ffb94984f1c42de53086e0131922df3260
2013-12-15 19:57:42 -08:00
Frank Galligan 10f891696b Add support to pass in external frame buffers.
VP9 decoder can now use frame buffers passed in by the application.

Change-Id: I599527ec85c577f3f5552831d79a693884fafb73
2013-12-15 18:45:46 -08:00