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
Tom Finegan
fb8a2cfd29
error_resilient.c: Cast away MSVC data loss warning.
...
Change-Id: I6d81f7d94cb724a9f5a302ca3551196f2d06f9b4
2014-02-19 11:39:21 -08:00
Tom Finegan
3d2f832cf7
force_keyframe.c: Cast away MSVC data loss warning.
...
Change-Id: Ibf09b76d5b8c8106b804354d9a7f007a0e3f6173
2014-02-19 11:37:28 -08:00
Tom Finegan
7e1d0e38ee
vpx_temporal_scalable_patterns.c: Silence MSVC warnings.
...
Change floats to doubles in RateControlMetrics, and make loop
counter signs agree.
Change-Id: I845cf268d9ce837a543d052d8d0f8dfd32bd9817
2014-02-19 11:30:08 -08:00
Tom Finegan
fdf3bfa71f
decode_to_md5.c: Silence warning with cast.
...
More size_t/unsigned int disagreement.
Change-Id: I2be01ee680f852f168f6fcac554a534ca3c83e5d
2014-02-19 10:59:40 -08:00
Dmitry Kovalev
49b4b72b7a
Merge "Adapting vp8_set_maps.c example to use new APIs."
2014-02-13 16:23:10 -08:00
Marco Paniconi
e590e087d5
Fix target frame size setting, for 1pass cbr.
...
Only use layered average size if number_temporal_layers > 1.
Also removed unneeded commented-out line, and change some parameter
setting in vpx_temporal_scalable_patterns.c
Change-Id: Ic86e43e7daf0313e8c5a4aba1497299158111955
2014-02-13 15:21:09 -08:00
Dmitry Kovalev
8837b022d9
Adapting vp8_set_maps.c example to use new APIs.
...
Change-Id: Id6e6b5a96c907261abe4348624241b4568707c1d
2014-02-13 14:18:05 -08:00
Dmitry Kovalev
f2d9525a79
Calling vpx_img_read() from vpx_temporal_scalable_patterns.
...
Change-Id: I7aa0f9afbd802a1d8686cad9fc6eae4baa6a53c3
2014-02-13 12:07:11 -08:00
Marco Paniconi
2eb499a5c6
Update to vpx_temporal_scalable_patterns test:
...
Add some rate control metrics.
Change-Id: Ie87c617bbdc31b0324c7c96a042f7bdb8aaa9c7e
2014-02-13 08:54:54 -08:00
Dmitry Kovalev
374eaf20e7
Flushing the encoder in simple_decoder example.
...
Change-Id: I39d78facc79a364cdc529b8cc4930d74f766d413
2014-02-12 18:38:09 -08:00
Dmitry Kovalev
70d9664fb2
Adding API to get vpx encoder/decoder interface.
...
Change-Id: I137e5e6585356792913e1e84da6c0a439c5153a5
2014-02-11 21:12:23 -08:00
Tom Finegan
b37e0a33c1
vpx_temporal_scalable_patterns: Remove extra const.
...
Silences MSVC warning.
Change-Id: I43191cdd8f0231b259ec091be24325ec99d2e962
2014-02-10 18:08:31 -08:00
Dmitry Kovalev
c761bd78fa
Merge "Cleaning up {simple, twopass}_encoder examples."
2014-02-10 14:27:48 -08:00
Dmitry Kovalev
592936b497
Cleaning up {simple, twopass}_encoder examples.
...
Change-Id: Ide9c408f4cee7408741ef8c0ffac01645a5a67ca
2014-02-07 11:37:39 -08:00
Dmitry Kovalev
4f8a30b116
Converting vpx_temporal_scalable_patterns to use VpxVideoWriter.
...
Change-Id: I69e868295b9798ba1599a411926de0891680032f
2014-02-07 11:07:55 -08:00
Dmitry Kovalev
6adaec4f50
Merge "Adding video reader/writer APIs."
2014-02-06 12:52:32 -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
Dmitry Kovalev
37e6fd3d76
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
2014-02-05 20:34:51 -08:00
James Zern
7474aebf8c
vp8_set_maps.c: silence some type warnings
...
Change-Id: I371863fc68f4984a223a684f9e89b25e9991e1e7
2014-02-05 19:33:39 -08:00
James Zern
4a703576f7
remove duplicate const from vpx_codec_iface_t use
...
the public typedef already includes a const, quiets
'same type qualifier used more than once' warnings
Change-Id: Ib118b3b116fba59d4c6ead84d85b26e5d3ed363d
2014-01-31 16:32:42 -08:00
Dmitry Kovalev
99d39e5b99
Merge "Adapting decode_with_drops example to use new file reading API."
2014-01-29 11:21:08 -08:00
Dmitry Kovalev
834f2fbcec
Adapting decode_with_drops example to use new file reading API.
...
Change-Id: Idd1acfcf8bb16a2ddb9c6c1c841a7741e90589d9
2014-01-29 11:02:17 -08:00
Dmitry Kovalev
2e862ce71c
Adapting postproc example to use new file reading API.
...
Change-Id: Ib3747c81db8cc89b5d7012db557411a3b49712aa
2014-01-29 10:55:59 -08:00
Dmitry Kovalev
7ec2769687
Adapting simple_decoder to use new file reading API.
...
Change-Id: I374a0c4bb4a66c0d3dc874c6e57fdee9d1ab72df
2014-01-27 13:40:29 -08:00
Dmitry Kovalev
c2b336815d
Implementing simple API to read video files.
...
New API is supposed to be used from example code. Current implementation
only supports IVF containers (will be extended to Y4M).
Change-Id: Ib7da87237690b1a28297bdf03bc41c6836a84b7e
2014-01-24 11:20:09 -08:00
Dmitry Kovalev
98254a441b
Moving vp8_multi_resolution_encoder to examples folder.
...
Change-Id: If0e1cd13aecd1620d26c28bf95e4f84469f78456
2014-01-17 16:57:37 -08:00
Dmitry Kovalev
0f8787d6be
Adding VP9 support to decode_to_md5 example.
...
This is still work in progress, there are many another planned updates
for all example files.
Change-Id: I2ba5dc6cd19a4bea9fbc6f1ee84cc2bd85925966
2014-01-15 14:38:27 -08:00
Dmitry Kovalev
a31dd326ea
Cleaning up md5 example.
...
Change-Id: Ifee528b1663b10dbe45e0bfef79010370c914e3a
2014-01-10 14:50:58 -08:00
Dmitry Kovalev
50fa58592b
Removing examples code generation and making them static.
...
All documentation will be provided as comments in the source files.
Change-Id: Ie609852747733c181191f864204c787a6b23ef3a
2014-01-07 15:15:25 -08:00
Yaowu Xu
b905dab377
Added necessary includes
...
To avoid the dependency on the order of header files included.
Change-Id: Ic142638d75fe95e6aba41b11664bfa15f076f793
2013-10-18 13:49:31 -07:00
John Koleszar
5ebe94f9f1
Build fixes to merge vp9-preview into master
...
Various fixups to resolve issues when building vp9-preview under the more stringent
checks placed on the experimental branch.
Change-Id: I21749de83552e1e75c799003f849e6a0f1a35b07
2012-12-26 11:21:09 -08:00
John Koleszar
7b8dfcb5a2
Rough merge of master into experimental
...
Creates a merge between the master and experimental branches. Fixes a
number of conflicts in the build system to allow *either* VP8 or VP9
to be built. Specifically either:
$ configure --disable-vp9 $ configure --disable-vp8
--disable-unit-tests
VP9 still exports its symbols and files as VP8, so that will be
resolved in the next commit.
Unit tests are broken in VP9, but this isn't a new issue. They are
fixed upstream on origin/experimental as of this writing, but rebasing
this merge proved difficult, so will tackle that in a second merge
commit.
Change-Id: I2b7d852c18efd58d1ebc621b8041fe0260442c21
2012-11-07 11:30:16 -08:00
Ronald S. Bultje
4b2c2b9aa4
Rename vp8/ codec directory to vp9/.
...
Change-Id: Ic084c475844b24092a433ab88138cf58af3abbe4
2012-11-01 16:31:22 -07:00