Commit Graph

129 Commits

Author SHA1 Message Date
Minghai Shang
759afe525c Merge "[svc] Temporal svc with two pass rate control" 2014-09-03 10:51:19 -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