Commit Graph

140 Commits

Author SHA1 Message Date
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