Marco
a250ebf8b8
vpx_temporal_svc_encoder: Update some default settings.
...
Set flags=0 if layering_mode=0, and set static_thresh=1.
Change-Id: Id9874923b23966a2b1d0e83965add7d5c9d26d16
2015-03-11 14:09:49 -07:00
Marco
c76ebffdcc
Set the threads/tile_columns in vpx_temporal_svc_encoder.
...
Change-Id: I794e8b64f26ebe68d7f18c3a11cb7c80e1cd3110
2015-03-06 09:53:55 -08:00
Marco
87a6175d6e
vpx_temporal_svc_encoder: Adjust default qp-max setting for vp9.
...
Change-Id: Iada495f05193a1f645a5405ad792931f4d9113ab
2015-02-12 12:40:02 -08:00
Marco
ef6d6ec285
vpx_temporal_svc_encoder: change default setting for static threshold.
...
Change-Id: Ie45c8344df9415173eae7aa20384ea8ecb05d07a
2015-02-05 12:07:31 -08:00
Tom Finegan
9e96bdc733
Xcode: Fix includes in examples.
...
The current file's directory, ".", is treated much more literally
when building libvpx examples with Xcode than it is with make, and
clang cannot find common include files included via "./" when those
files actually reside one directory up in the tree.
Change-Id: I5f66a026282e35d80248ca4052ebb882b859172e
2015-02-04 16:11:57 -08:00
Marco
af898b56bb
Various updates to vp8.
...
Change-Id: Icc7a816491897107764e4c936288e9000e6319b8
2014-12-03 16:01:28 -08:00
Marco
e0b3e213c6
temporal_svc encoder: Change default setting for layering_mode = 0.
...
Change-Id: I5f723ada144d0bd82ee700ef28a4916fd64ba5e4
2014-11-26 11:13:23 -08:00
Deb Mukherjee
4c12046a7d
Changes SvcContext_t to SvcContext
...
Fixes a borg build.
Change-Id: I8cb510577e8d8bbc7a2e64f9e1bdfe883f49cb61
2014-11-18 12:27:12 -08:00
Marco
b64359110b
Add more rate control stats to vpx_temporal_svc_encoder.
...
Average and variance of actual encoding bitrate over fixed short-time window.
Change-Id: Icc3d6d93792c81e1fb9fd3b56008bf47a503b204
2014-11-14 08:51:31 -08:00
Deb Mukherjee
0ba1542f12
Vidyo: Support for one-pass rc-enabled SVC encoder
...
Adds support for one-pass rc-enabled SVC encoder with callbacks for
getting per-layer packets.
- the callback function registration is implemented as an encoder
control function.
- if the callback function is not registered, the old way of
aggregating packets with superframe will take effect.
- one more control function “VP9E_GET_SVC_LAYER_ID” has been
implemented to get the temporal/spatial id from the encoder
within the callback. This can be used to get the ids to put on RTP
packet.
Change-Id: I1a90e00135dde65da128b758e6c00b57299a111a
2014-11-10 16:08:58 -08:00
Minghai Shang
86c36a504d
[spatial svc] Make spatial svc working for one pass rate control
...
Change-Id: Ibd9114485c3d747f9d148f64f706bf873ea473ac
2014-11-04 11:46:48 -08:00
Deb Mukherjee
a349ee3bf5
Resolves some lint errors
...
And also fixes some style consistency issues.
Change-Id: I3dc6d44e17d2d6075dc9b02c4255a7395046c5e0
2014-10-13 16:05:44 -07:00
James Zern
e4caf2250f
vp9_spatial_svc_encoder: fix -bit-depth arg parsing
...
use arg_parse_enum_or_int like vpxenc. this also fixes a warning as
arg_parse_enum is not currently declared in args.h.
Change-Id: If9ce258d6adb6286eb86f529083929d5fe2b3a56
2014-10-11 11:24:52 +02:00
Deb Mukherjee
4bad0e6f12
Adds highbitdepth support to svc examples
...
Change-Id: I59946642cb5c370726da33f4448a3deaba7d3f11
2014-10-02 16:12:42 -07:00
Tom Finegan
c9527aa682
examples/simple_decoder: Correct comments/remove unnecessary include.
...
Change-Id: Iad3db3ca7601529ae32637f859ac8d552da94c87
2014-09-30 15:07:40 -07:00
Minghai Shang
209ee12110
[spatial svc] Remove vpx_svc_parameters_t and the loop that sets it for each layer
...
vpx_svc_parameters_t contains id, resolution and min/max qp for each spatial layer.
In this change we will use extra config to send min/max qp and scaling factors, then calculate layer resolution inside encoder.
Change-Id: Ib673303266605fe803c3b067284aae5f7a25514a
2014-09-18 18:05:07 -07:00
Minghai Shang
4f5b2b2892
[spatial svc]Remove quantizers option. Use max/min quantizers for each layer.
...
Change-Id: I214bc4169f6c5eaee4957cd308a74d309e999005
2014-09-18 11:10:11 -07:00
Minghai Shang
76885de5ad
[spatial svc] Use string for quantizers and scale-factors option in the test app
...
1. This is to align with the ffmpeg implementation
2. Remove APIs for setting quantizers and scale-factors
Change-Id: I6e238d71db790a9fb3254baaeb61e2a5aac58f48
2014-09-17 17:39:16 -07:00
JackyChen
bb1a23656c
Change the control function of VP9 denoiser.
...
Change from VP8E_SET_NOISE_SENSITIVITY to VP9E_SET_NOISE_SENSITIVITY
Change-Id: Ia210a7029b26924e30973f0f9798a338e0412407
2014-09-12 16:34:22 -07:00
Minghai Shang
e9b6c5f6eb
Merge "[spatial svc] Remove handling frame and stats packets in the codec"
2014-09-11 14:12:44 -07:00
Dmitry Kovalev
fb285bab1e
Merge "Adding lossless encoding example."
2014-09-11 13:43:47 -07:00
Minghai Shang
12aaff560b
[spatial svc] Remove handling frame and stats packets in the codec
...
1. svc_encodeframe.c will not handle frame or stats packets anymore.
The app will process them.
2. Remove APIs that related to these packets.
Change-Id: Id0d7f8b458dc09c6f77064c0878fd4e572db001b
2014-09-11 11:35:27 -07:00
Dmitry Kovalev
cb1f97e880
Adding lossless encoding example.
...
Change-Id: Ib8498c3127c397b453beff140503b2aca0d11cfc
2014-09-11 11:27:38 -07:00
Tom Finegan
4e94dec352
examples/twopass_encoder: Use good quality.
...
This speeds up the encode significantly. Also added a comment about using
best quality to keep new developers informed.
Change-Id: I04e8154d4b2c4cae07fe7cc9a71e707f649e9ed4
2014-09-10 11:14:07 -07:00
Dmitry Kovalev
56b9c649a3
Merge "Removing legacy compatibility layer."
2014-09-09 18:24:12 -07:00
Minghai Shang
759afe525c
Merge "[svc] Temporal svc with two pass rate control"
2014-09-03 10:51:19 -07:00
Dmitry Kovalev
9cdaa3d72e
Removing legacy compatibility layer.
...
Change-Id: I6fdcea0e0faf42386dd2b8f972a3b3fb2c21b2c7
2014-09-02 18:11:55 -07:00
Minghai Shang
be3b08da3e
[svc] Temporal svc with two pass rate control
...
It's built based on current spatial svc code.
We only support one spatial two temporal layers at this time.
Change-Id: I1fdc8584354b910331e626bfae60473b3b701ba1
2014-09-02 12:05:14 -07:00
Dmitry Kovalev
296f2e6b93
Switching back to #define instead of static const int.
...
To avoid 'variable length array' warnings from gcc.
Change-Id: I426f7e93ce674a10b901e79c0c9d9df5d4e47cb6
2014-09-02 11:29:40 -07:00
Dmitry Kovalev
0c1b9c7999
vp8_multi_resolution_encoder: Huge cleanup.
...
Change-Id: I65b2c1fbed5a306949843315999d10368a100431
2014-08-28 11:10:28 -07:00
Dmitry Kovalev
1e82bdec92
twopass_encoder: Flush encoder.
...
Change-Id: Ib04a545b43f3a36c6df7eaf3ed2d802cf41119bb
2014-08-25 19:17:07 -07:00
Dmitry Kovalev
393e5d9cfc
twopass_encoder: Separate functions for first and second pass.
...
Change-Id: Ic5e3ff5f572ed55d7dd3df8c606e57daacf885dc
2014-08-25 13:05:30 -07:00
Jim Bankoski
812506b80c
set_maps: add exit to avoid uninitialized variable warning
...
Change-Id: I08e42adeab9f9fa0337173ba0923f3bc0dd36806
2014-08-21 17:29:01 -07:00
Jim Bankoski
339391a8d4
vpx_temporal_svc_encoder: initialize outfile to avoid warning
...
Change-Id: I53077092342bc35fd783e1b7dcb80b21677f11c1
2014-08-21 17:28:58 -07:00
Jim Bankoski
116aa2db6c
vpx_temporal_svc_encoder.c : removed dead assignment.
...
Change-Id: Ibc68830f090d55959561d40faa232399893e2b22
2014-08-21 17:28:51 -07:00
Dmitry Kovalev
a8e674de4f
set_maps: Flush encoder.
...
According to the current API spec we need to call vpx_codec_encode() until
vpx_codec_get_cx_data() returns NULL.
Change-Id: I4617f8042d50480a8f47b0b7114d4759fa566b14
2014-08-15 17:15:17 -07:00
Dmitry Kovalev
965af79241
vp8cx_set_ref: Flush encoder.
...
According to the current API spec we need to call vpx_codec_encode() until
vpx_codec_get_cx_data() returns NULL.
Change-Id: Ide0c531dc0d453df8ec1edb8acb894856d6cc22e
2014-08-15 10:26:45 -07:00
Marco Paniconi
8db245b6a1
Add an adaptive denoising mode.
...
On key frame, will always start with normal denoising mode,
but based on a computed noise metric (normalized mse on source diff)
may switch to aggressive mode (and back down again).
Change-Id: I20330b2dcf3056287be37223302b2cab5fc103eb
2014-08-14 17:29:51 -07:00
Dmitry Kovalev
a4e85a5f4f
Implementing right flushing for simple_encoder.
...
simple_encoder: Flush encoder. According to the current API spec we need
to call vpx_codec_encode() until vpx_codec_get_cx_data() returns NULL.
Change-Id: Ibc37706e5257a3d51e5421ca17f77ab41249d9b5
2014-08-11 14:10:33 -07:00
Marco Paniconi
91801176fe
vp8: Add an aggressive denoising mode.
...
Change-Id: Ie4686e1b15af6bcc8d59d585bbeb996f38224522
2014-07-29 11:16:45 -07:00
Marco Paniconi
1094a11b57
temporal_svc sample encoder: setting for denoiser.
...
Reset it as before commit: https://gerrit.chromium.org/gerrit/#/c/70855/
Change-Id: I93df163c4bb565fb30f0f5283ed71347d01153d3
2014-07-18 10:41:38 -07:00
Deb Mukherjee
f1f3d092c2
Merge "Renames interface field in VpxInterface"
2014-07-15 23:01:51 -07:00
Deb Mukherjee
f332c6305e
Renames interface field in VpxInterface
...
Renames interface to codec_interface since it is a reserved
word on windows.
Change-Id: I84f2cbf257a4c44f16dc2464127e35ee405c2c3e
2014-07-15 16:55:12 -07:00
Marco Paniconi
21042c7154
vp8: Allow for on/off control of UV temporal denoiser.
...
Use noise_sensitivity level for enabling UV denoiser.
Change-Id: Ib208786a6fdf654981bcd96a3cf44e8e678025c1
2014-07-15 09:51:03 -07:00
Marco Paniconi
c0061cc24f
Merge "Fix build for examples/vp8_multi_resolution_encoder."
2014-07-07 17:07:13 -07:00
Marco Paniconi
5f732c2031
Fix build for examples/vp8_multi_resolution_encoder.
...
Change-Id: I7ec4e0e05487fe80d93e31e0f6a21f326b5c7276
2014-07-07 16:59:07 -07:00
Minghai Shang
83269ff8ff
Merge "[spatial svc] Remove encoding modes since we only need one mode at this time."
2014-06-27 11:48:22 -07:00
Minghai Shang
df38196453
[spatial svc] Remove encoding modes since we only need one mode at this time.
...
Change-Id: I1b6ed2e82a7e3e8a9e790bf29d667a3f856a9518
2014-06-25 10:42:04 -07:00
Minghai Shang
41b451eb1f
[spatial svc]Remove key frame quantizer settings since key frame is decided by rate control
...
Change-Id: I7eda0f5e678034f0e9c2ab481c517d2e9b280eb5
2014-06-25 10:36:24 -07:00
Minghai Shang
277338f748
[spatial svc]Implement lag in frames for spatial svc
...
Change-Id: I930dced169c9d53f8044d2754a04332138347409
2014-06-24 14:01:17 -07:00
Minghai Shang
76bf681338
Merge "[spatial svc] Remove hard coded rc_end_usage setting"
2014-05-22 15:51:19 -07:00
James Zern
21a0371836
vpx_temporal_svc_encoder: fix memory leak on success
...
more work would be necessary to avoid leaks in all failure cases
Change-Id: I9c92ae1c34e120b17109bc832b6b2789b909761d
2014-05-21 20:04:06 -07:00
Minghai Shang
39aef40236
[spatial svc] Remove hard coded rc_end_usage setting
...
Change-Id: Ifb09502ddf62664b3bfc62172de46bc36fde8efb
2014-05-21 11:18:06 -07:00
Yaowu Xu
70835601d5
set_map.c: cleanup -wextra warnings
...
The commit changed to use memset for initialiazation of non-trivial
strucutures, where initialization using {0} caused warnings. Also,
removed {0} initializations where appropriate initialization calls
are in place.
Change-Id: Ifd03e34aa80688e382124eb889c0fc1ec43c48e6
2014-05-15 18:14:00 -07:00
Tom Finegan
a77d6d0dbb
Rename vpx_temporal_scalable_patterns.c
...
New name: vpx_temporal_svc_encoder.c
Also, update comment to note that example supports VP8 and VP9.
Change-Id: I6fffab81296f918ebca740192a5c609593852dff
2014-05-14 11:21:15 -07:00
Tom Finegan
cea4167030
Rename vp9_spatial_scalable_encoder.
...
Rename it to vp9_spatial_svc_encoder.
Change-Id: I756936039df5bf6bea2d7525a7edeac01df94352
2014-05-13 15:52:43 -07:00
Tom Finegan
732e49b666
Remove bitrotted example code: example_xma
...
Doesn't work. Doesn't build. Not supported.
Change-Id: I5a2f9965afdda82370049c10ebcbe77ac4c6c9b9
2014-05-09 10:55:55 -07:00
Tom Finegan
f06de3b0a6
Remove decode_with_partial_drops example.
...
Bitrotted and non-functional. Does one of two things: Crashes or reports
errors and quits.
Change-Id: Ia9c391ecd6e716b183d925247bf3dc0509ce4586
2014-05-07 10:51:18 -07:00
Minghai Shang
d899a1c08a
[spatial svc] Use VPX_DL_GOOD_QUALITY for vp9_spatial_scalable_encoder
...
Change-Id: I759f2d7c0e75b44ff4522a5ce57328b1c92730aa
2014-05-02 11:54:45 -07:00
Marco Paniconi
a39b201344
Remove the unneeded output_framerate from svc.
...
And change a parameter setting in vpx_temporal_scalable_patterns.
Change-Id: I7c208296ebcecbc8f73de032f6cdb26a1fc1442b
2014-04-10 13:49:25 -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
Marco Paniconi
ccdbbe0a2f
vpx_temporal_pattern_encoder: add speed setting to command line.
...
Change-Id: I0abf4401b37e2f786a958c8eb0fb40640f7fc140
2014-03-27 17:39:56 -07:00
Minghai Shang
c217423af9
Merge "[svc] Add min/max q and min/max bitrate in svc test app"
2014-03-24 10:54:06 -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
03d75182f7
Merge "[svc] Finalize spatial svc first pass rate control"
2014-03-20 15:12:14 -07:00
Marco Paniconi
16c15c1093
Log encoding time/fps in vpx_temporal_scalable_patterns
...
Change-Id: I368750c3641c5daaa8871f3880af5cfcf5e79bba
2014-03-20 11:32:39 -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
Marco Paniconi
6b83884ba9
In-frame q adjustment for cyclic background refresh.
...
Activated using aq_mode=3.
Change-Id: Ied628b9e7bd0e88b0c75790276bca75b19eb5c07
2014-03-18 10:59:21 -07:00
Alex Converse
61ecd7f105
Add VP9 support to the set maps example.
...
Change-Id: I8c3be3ed4d6bbc5fa3042a2d5637407d4d56afee
2014-03-11 10:44:22 -07:00
Alex Converse
b528d4923a
Make vp8_set_maps more flexible.
...
Change-Id: I754a5c5e342cfa7c52c1a75424f18aea8b7657d2
2014-03-11 10:44:22 -07:00
Minghai Shang
2740507142
Merge "[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-03-07 14:02:35 -08:00
James Zern
ee77a1a589
vp8cx_set_ref: fix variable assignment
...
assign vpx_ref_frame_t members explicitly avoiding incompatibility in
visual studio builds
Change-Id: I22df4c5ebb772d65b4d72f22949fbde53543d7ec
2014-03-06 21:12:47 -08:00
James Zern
87a3129e52
Merge "move resize_util.c to examples/"
2014-03-06 11:42:19 -08:00
Dmitry Kovalev
c3cd6b3e5c
Merging force-keyframe example into simple_encoder.
...
The only difference between two examples was usage of VPX_EFLAG_FORCE_KF
flag for frame encoding. Moving this functionality into simple_encoder
with additional command line option.
Change-Id: Ia3c4209be073eeb541d4ac6b41bd0f12812f6676
2014-03-05 12:01:56 -08:00
Dmitry Kovalev
cb4eb7901d
Converting vp8cx_set_ref example to use new API.
...
Change-Id: I8e40811c85c2246da75d9f06c4fda1a5079fcc71
2014-03-05 10:38:17 -08:00
James Zern
98e16b1b3d
move resize_util.c to examples/
...
Change-Id: I0bc68e129ea408095869c9e7b0b15d83e22dbf4e
2014-03-03 18:03:23 -08:00
Dmitry Kovalev
6440e2955d
Merge "Merging error-resilient example into simple_encoder."
2014-03-03 12:10:37 -08: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
Dmitry Kovalev
2dad0e1238
Adding sse_to_psnr function to tools_common.{h, c}.
...
Change-Id: Id5f974172416499ff55b0929e315b12d16ff1b1b
2014-02-27 14:00:41 -08:00
Minghai Shang
20da0653f4
Merge "Change for adding QP settings for key frames"
2014-02-27 10:50:02 -08:00
Marco Paniconi
d32e000ae0
Update some comments in vpx_temporal_scalable_patterns.
...
Change-Id: I747d26c544cc56feaaf7c75403f2f4c16a496bb7
2014-02-26 14:30:09 -08:00
Minghai Shang
c79bd22a5f
Change for adding QP settings for key frames
...
Change-Id: I4dcabb60cb1185eb9a2efa18b50f17af272d2cd6
2014-02-26 11:19:06 -08:00
Dmitry Kovalev
194e6f2983
Merging error-resilient example into simple_encoder.
...
The only difference between two examples was a setting of
g_error_resilient flag in error-resilient example. Moving this
functionality into simple_encoder with additional command line option.
Change-Id: I0245793320125926e1bf208cc1e87aef39ca478d
2014-02-25 16:34:49 -08:00
Marco Paniconi
c30cc9f2e4
vpx_temporal_scalable_patterns: fix to encoding_bitrate computation.
...
Change-Id: I56fcb82c4334c7591b765b55b3c2912778af6db5
2014-02-24 15:37:22 -08:00
James Zern
20eb5cb653
move vp9_spatial_scalable_encoder.c to examples/
...
Change-Id: Id5c889cb87ad33a21d83a415a23e957e8ee3218f
2014-02-21 17:57:27 -08:00
Tom Finegan
18e3415a55
Merge "twopass_encoder.c: Silence MSVC data loss warnings."
2014-02-20 14:03:37 -08:00
Marco Paniconi
8f69ce2a47
vpx_temporal_scalable_patterns: set rc_target_bitrate correct.
...
Current setting was specific to 1 layer case.
rc_target_bitrate is total bitrate for whole stream,
so set it to ts_target_bitrate for highest/top temporal layer.
Change-Id: I83de73364956fa21c0a7c971c9f390d4840457e6
2014-02-20 11:45:15 -08:00
James Zern
3fa7c9eaaf
Merge "vp8_set_maps.c: Silence signed/unsigned mismatch MSVC warnings."
2014-02-19 22:55:40 -08:00
Tom Finegan
34d02b060d
vp8cx_set_ref.c: Silence MSVC data loss warning.
...
Change-Id: I1210ce23cf8f98950c445a17ef51a73c6852c89f
2014-02-19 16:20:14 -08:00
Tom Finegan
560119c4bc
vp8_set_maps.c: Silence signed/unsigned mismatch MSVC warnings.
...
Use unsigned loop counters in set_roi_map() and set_active_map().
Change-Id: I9bbaed38b51ef73b82ba4ad4c4bc18ca5d2399f9
2014-02-19 16:13:15 -08:00
Tom Finegan
3118aba32c
twopass_encoder.c: Silence MSVC data loss warnings.
...
Use unsigned int instead of uint64_t for duration and deadline
arguments to functions get_frame_stats() and encode_frame().
Change-Id: I1f26a7afc38ae89916b2c67415ced26fdc9d53e7
2014-02-19 14:44:35 -08:00
James Zern
33bb443550
Merge "decode_with_drops.c: Cast away MSVC data loss warning."
2014-02-19 14:04:34 -08:00
James Zern
68d49038c8
Merge "simple_decoder.c: Silence MSVC data loss warning."
2014-02-19 14:04:20 -08:00
James Zern
8491e3c882
Merge "postproc.c: Cast away MSVC data loss warning."
2014-02-19 14:04:01 -08:00
Tom Finegan
1ea12f5b5f
Merge "vpx_temporal_scalable_patterns.c: Silence MSVC warnings."
2014-02-19 12:38:41 -08:00
Tom Finegan
ebf4550990
simple_decoder.c: Silence MSVC data loss warning.
...
Change-Id: I138d7f62ac7e905642405e60a49ac3d282695e3f
2014-02-19 12:08:18 -08:00
Tom Finegan
a3c521e143
postproc.c: Cast away MSVC data loss warning.
...
Change-Id: Ib80d4f394692a981e369dc5fecd5432cbec488d1
2014-02-19 11:58:28 -08:00
Tom Finegan
6811dbc4c8
decode_with_drops.c: Cast away MSVC data loss warning.
...
Change-Id: Ib8ee2b9a4cb785176ca1054489df5dced004837a
2014-02-19 11:55:06 -08:00
Tom Finegan
14e3d317cd
Merge "error_resilient.c: Cast away MSVC data loss warning."
2014-02-19 11:45:58 -08:00
Tom Finegan
a63a8e1037
Merge "decode_to_md5.c: Silence warning with cast."
2014-02-19 11:45:11 -08:00