Commit graph

28 commits

Author SHA1 Message Date
Danil Chapovalov
90dc5dae2c Factor encoded frame generation code into own target
Show it can make vp9 tests cleaner too.

Bug: None
Change-Id: I8333a61dec1ef90ade9faffea94e1555ccbfcfaa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/177013
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31523}
2020-06-15 12:25:06 +00:00
Danil Chapovalov
222fdfdace in AV1 Encoder remove hack of removing temporal delimiter OBU
Bug: webrtc:11174
Change-Id: I70e3ab1af92562b44f974aa415e0215e06fcf1cd
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/177009
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31512}
2020-06-12 12:42:09 +00:00
Danil Chapovalov
24263f4ffb Embed FrameDependencyTemplate builder helpers directly into the struct
Bug: None
Change-Id: I4c13bdabd08dd6a6011cb534c765c1dd09f218d1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176843
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Björn Terelius <terelius@webrtc.org>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31500}
2020-06-11 13:43:51 +00:00
Jerome Jiang
e366045375 Add implementation name for libaom decoder
Change-Id: I96d07727ef41c7f2ab0e35d89415c5a8ec4393b4
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176940
Reviewed-by: Marco Paniconi <marpan@webrtc.org>
Commit-Queue: Jerome Jiang <jianj@google.com>
Cr-Commit-Position: refs/heads/master@{#31495}
2020-06-11 04:45:42 +00:00
Danil Chapovalov
0e2dd1271e Add av1 structures for 3 spatial and/or 3 temporal layers
Bug: webrtc:11404
Change-Id: I2a2a40202b1dc8bec66baffc8883e59b9be9bade
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176518
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31478}
2020-06-09 14:50:21 +00:00
Danil Chapovalov
a48dd43fe1 Add builder setters for ScalableVideoStructure::LayerFrameConfig
Bug: None
Change-Id: I19721f87b9f4641e093dc51f9c023b0493adcf97
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176702
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31473}
2020-06-09 10:31:35 +00:00
Mirko Bonadei
2dcf348011 Use absl_deps in order to preapre to the Abseil component build release.
Bug: webrtc:1046390
Change-Id: Ia35545599de23b1a2c2d8be2d53469af7ac16f1d
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176502
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31463}
2020-06-08 12:59:40 +00:00
Danil Chapovalov
4091d34171 Add av1 scalability structures for 2 spatial and 2 temporal layers.
Bug: webrtc:11404
Change-Id: I0a2257b88666a0158a85162974430c2c08d61b40
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176501
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31460}
2020-06-08 10:23:23 +00:00
Danil Chapovalov
aa40b89006 Add Scalability structure tests for individual frame configurations
Bug: webrtc:10342
Change-Id: Ia768f6b37a4e9b0ce66139e799833746054e3a4e
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176443
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31438}
2020-06-04 07:32:06 +00:00
Jerome Jiang
7f7fb830ba Reland "Add av1 test running real video clips."
This reverts commit 6958d2c6f0.

Disable the test on iOS.

Bug: None
Change-Id: Ie42fada10a92bd4a802c6c79caeb4965410ddf6a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176461
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Jerome Jiang <jianj@google.com>
Cr-Commit-Position: refs/heads/master@{#31437}
2020-06-04 06:32:46 +00:00
Jerome Jiang
6813767e52 Av1 wrapper: only use speed 6 on cores > 2
Bug: None
Change-Id: Iacddfbca1d2579c3a397339a1c18008a10238348
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176463
Reviewed-by: Marco Paniconi <marpan@webrtc.org>
Commit-Queue: Jerome Jiang <jianj@google.com>
Cr-Commit-Position: refs/heads/master@{#31436}
2020-06-04 03:23:54 +00:00
Jerome Jiang
1220c39953 av1: add a few controls to wrapper
this will speed up realtime encoding.

Change-Id: I39d42f3c195d2f520f04f7357e72b0903905ea81
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176383
Reviewed-by: Marco Paniconi <marpan@webrtc.org>
Commit-Queue: Jerome Jiang <jianj@google.com>
Cr-Commit-Position: refs/heads/master@{#31431}
2020-06-03 20:56:00 +00:00
Danil Chapovalov
649aa3416e in libaom decoder use public control function instead of internal one
to unblock rolling new version where private function is no longer available

Bug: None
Change-Id: I9c35fede3f331f7688cc97acfbda1250b42348a3
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176441
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31427}
2020-06-03 15:03:07 +00:00
Danil Chapovalov
40f1fe9cff Add unittests to validate scalability structures without encoder
Bug: webrtc:10342
Change-Id: I66407e635502b7c87f8d4ab49c95f5c1326da4a0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176412
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31423}
2020-06-03 12:59:25 +00:00
Danil Chapovalov
4b1ab57283 Add av1 test with spatial scalability.
Bug: webrtc:11404
Change-Id: I6faa72a86d6f48b21b1e1cd6c2a1d748e168d018
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176366
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31410}
2020-06-02 13:27:57 +00:00
Ying Wang
6958d2c6f0 Revert "Add av1 test running real video clips."
This reverts commit 3a2be87b80.

Reason for revert: break internal test

Original change's description:
> Add av1 test running real video clips.
> 
> Bug: None
> Change-Id: I93bb8b3bf15d607d061aa74ad9e34609ffb2ef0a
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175821
> Commit-Queue: Jerome Jiang <jianj@google.com>
> Commit-Queue: Stefan Holmer <holmer@google.com>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#31401}

TBR=danilchap@webrtc.org,jianj@google.com,stefan@webrtc.org,holmer@google.com,marpan@webrtc.org

Change-Id: I2689ab4f7f26af6e26a4a188a2aa0b4f90a1a92f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176374
Reviewed-by: Ying Wang <yinwa@webrtc.org>
Commit-Queue: Ying Wang <yinwa@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31405}
2020-06-02 10:40:38 +00:00
Jerome Jiang
3a2be87b80 Add av1 test running real video clips.
Bug: None
Change-Id: I93bb8b3bf15d607d061aa74ad9e34609ffb2ef0a
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175821
Commit-Queue: Jerome Jiang <jianj@google.com>
Commit-Queue: Stefan Holmer <holmer@google.com>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31401}
2020-06-02 07:36:20 +00:00
Danil Chapovalov
00b172a6fa Add av1 test with temporal scalability.
Bug: webrtc:11404
Change-Id: Iaf2fcca0dd450f7b296bd0250a119b8e7dfef270
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176181
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31397}
2020-06-01 14:28:45 +00:00
Jerome Jiang
85b288b0ff av1: enable error resilient, set max intra rate and disable order hint
error resilient needs to be enabled for layered encoding.

Bug: None
Change-Id: I399dc227507d4f48f21358141aa1874d126e92a5
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176340
Reviewed-by: Marco Paniconi <marpan@webrtc.org>
Commit-Queue: Jerome Jiang <jianj@google.com>
Cr-Commit-Position: refs/heads/master@{#31391}
2020-05-30 03:10:27 +00:00
Danil Chapovalov
a4d70a802c Configure libaom encoder with scalability parameters
Bug: webrtc:11404
Change-Id: I9535d9dec2e0e0d85bf3435f921d6e78034c7bf8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175653
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31373}
2020-05-28 09:06:11 +00:00
Danil Chapovalov
df95f5d43f Add parametrized unit tests for av1 to check scalability structures
Bug: webrtc:11404
Change-Id: If92a4b0a0a78a12ff43ec3a27b189cdc7218c9c7
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175601
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31365}
2020-05-27 10:27:18 +00:00
Jerome Jiang
3cc1a6509b Set av1 speed from resolution.
Use speed 6 for better quality for low resolution, speed 8 for HD for better speed.
This will better balance speed and quality.

Change-Id: I3d8dbd45533471ce58d53c1ac26f92c7b1106259
Bug: None
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/175281
Reviewed-by: Marco Paniconi <marpan@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Jerome Jiang <jianj@google.com>
Cr-Commit-Position: refs/heads/master@{#31336}
2020-05-20 20:06:46 +00:00
Danil Chapovalov
b471ac791c Introduce layering controller interface for av1 encoder
Add TODOs into AV1 encoder wrapper where it suppose to be used.

Bug: webrtc:11404
Change-Id: If049066b84be72829867d5084827a7d275648a7b
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174806
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31278}
2020-05-15 15:25:42 +00:00
Danil Chapovalov
28da36a6ea Add unittest for av1 wrappers to test Encode and Decode functions
while helpful by itself, it is also a preparation
for adding unittests for (to be added) svc features of the encoder.

Bug: webrtc:11404
Change-Id: I62b0645f44579f21f228d406a206b4c01d80dd02
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174580
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#31189}
2020-05-08 11:57:27 +00:00
Danil Chapovalov
a4c4425748 Restore setting encoder speed for AV1 encoder wrapper
Also add simple unittests for the wrapper.

Bug: webrtc:11404
Change-Id: I41d185da9bce392297d1982194c059bddb7881ac
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/171481
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30867}
2020-03-24 12:34:27 +00:00
Danil Chapovalov
976cc1ae19 Add AV1 encoder wrapper
Bug: webrtc:11404
Change-Id: Ibd5ded873c397bb91675a7e29591edab3c41f182
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170360
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Michael Horowitz <mhoro@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30842}
2020-03-20 12:20:06 +00:00
Danil Chapovalov
560e87aa81 Reenable libaom decoder by default
Bug: webrtc:11404
Change-Id: I165ce3b88d35b58b3f878246c77ab48c36cc9ddc
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/170636
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30823}
2020-03-18 18:04:41 +00:00
Danil Chapovalov
c46385c346 Add Av1 Decoder wrapper behind a build flag
Bug: webrtc:11404
Change-Id: I090ffd173d667e8845de1b986af462516b7c76e6
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/169452
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Michael Horowitz <mhoro@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30757}
2020-03-11 11:20:56 +00:00