New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 784993 link

Starred by 10 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task

Blocking:
issue 783519



Sign in to add a comment

Finalize supported AV1 profiles and update corresponding types and enums.

Project Member Reported by dalecur...@chromium.org, Nov 14 2017

Issue description

The AV1 profiles are not finalized, we currently only indicate support for a single base profile: AV1PROFILE_PROFILE0. It'd be nice if these had names beyond numbers too :)

media/base/video_codecs.h and all dependencies on profile values need updating after this is finalized. See https://chromium-review.googlesource.com/c/chromium/src/+/762359 for a full listing of places that need updating.
 
Blockedon: -783519
Blocking: 783519
Cc: johannkoenig@chromium.org tomfinegan@chromium.org

Comment 3 by jaikk@chromium.org, Jun 18 2018

Owner: dalecur...@chromium.org
Finalized profiles in Spec[1] are as follows:
“Main” compliant decoders must be able to decode streams with seq_profile equal to 0.
“High” compliant decoders must be able to decode streams with seq_profile less than or equal to 1.
“Professional” compliant decoders must be able to decode streams with seq_profile less than or equal to 2.

Corresponding members of BITSTREAM_PROFILE in libaom [2] are PROFILE_0, PROFILE_1, PROFILE_2, MAX_PROFILES

Dale, up to you if we change to the "Main"/"High"/"Professional" names instead of numbers. 


[1] http://av1-spec.argondesign.com/av1-spec/av1-spec.html#profiles
[2] https://aomedia.googlesource.com/aom/+/master/av1/common/enums.h#98 




Doesn't matter to us, it's just a name in the code - we don't print it anywhere, so up to you.
Decided to go with Main/High/Pro for legibility. https://chromium-review.googlesource.com/c/chromium/src/+/1108555
Project Member

Comment 6 by bugdroid1@chromium.org, Jun 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dea1981c99e9cb0de9bf95ed1423c5b7c6f68c1c

commit dea1981c99e9cb0de9bf95ed1423c5b7c6f68c1c
Author: Dale Curtis <dalecurtis@chromium.org>
Date: Fri Jun 22 00:09:57 2018

Add finalized AV1 profile types.

This just adds the enum values for use in later patch sets which
will parse the profile from the codec string and bitstreams.

There are three named profiles:
“Main” compliant decoders must be able to decode [...]
“High” compliant decoders must be able to decode [...]
“Professional” compliant decoders must be able to decode [...]

From http://av1-spec.argondesign.com/av1-spec/av1-spec.html#profiles

Bug:  784993 ,  784607 
Test: None
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I54815d6fb6c2d8978c0897d617025e7a5c5473d6
Reviewed-on: https://chromium-review.googlesource.com/1108555
Reviewed-by: Steven Holte <holte@chromium.org>
Reviewed-by: Oliver Chang <ochang@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Johann Koenig <johannkoenig@google.com>
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569463}
[modify] https://crrev.com/dea1981c99e9cb0de9bf95ed1423c5b7c6f68c1c/components/arc/common/video_accelerator_struct_traits.cc
[modify] https://crrev.com/dea1981c99e9cb0de9bf95ed1423c5b7c6f68c1c/components/arc/common/video_common.mojom
[modify] https://crrev.com/dea1981c99e9cb0de9bf95ed1423c5b7c6f68c1c/content/browser/gpu/gpu_internals_ui.cc
[modify] https://crrev.com/dea1981c99e9cb0de9bf95ed1423c5b7c6f68c1c/gpu/config/gpu_info.h
[modify] https://crrev.com/dea1981c99e9cb0de9bf95ed1423c5b7c6f68c1c/gpu/ipc/common/gpu_info.mojom
[modify] https://crrev.com/dea1981c99e9cb0de9bf95ed1423c5b7c6f68c1c/gpu/ipc/common/gpu_info_struct_traits.cc
[modify] https://crrev.com/dea1981c99e9cb0de9bf95ed1423c5b7c6f68c1c/media/base/mime_util_internal.cc
[modify] https://crrev.com/dea1981c99e9cb0de9bf95ed1423c5b7c6f68c1c/media/base/video_codecs.cc
[modify] https://crrev.com/dea1981c99e9cb0de9bf95ed1423c5b7c6f68c1c/media/base/video_codecs.h
[modify] https://crrev.com/dea1981c99e9cb0de9bf95ed1423c5b7c6f68c1c/media/base/video_decoder_config.cc
[modify] https://crrev.com/dea1981c99e9cb0de9bf95ed1423c5b7c6f68c1c/media/ffmpeg/ffmpeg_common.cc
[modify] https://crrev.com/dea1981c99e9cb0de9bf95ed1423c5b7c6f68c1c/media/formats/mp4/box_definitions.cc
[modify] https://crrev.com/dea1981c99e9cb0de9bf95ed1423c5b7c6f68c1c/media/formats/webm/webm_video_client.cc
[modify] https://crrev.com/dea1981c99e9cb0de9bf95ed1423c5b7c6f68c1c/media/gpu/gpu_video_accelerator_util.cc
[modify] https://crrev.com/dea1981c99e9cb0de9bf95ed1423c5b7c6f68c1c/media/remoting/proto_enum_utils.cc
[modify] https://crrev.com/dea1981c99e9cb0de9bf95ed1423c5b7c6f68c1c/media/remoting/rpc.proto
[modify] https://crrev.com/dea1981c99e9cb0de9bf95ed1423c5b7c6f68c1c/tools/metrics/histograms/enums.xml

Status: Fixed (was: Assigned)
Labels: M-69
Project Member

Comment 9 by bugdroid1@chromium.org, Jul 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/61cdd5258503998303ee40ca66e3c851c71956b4

commit 61cdd5258503998303ee40ca66e3c851c71956b4
Author: Dale Curtis <dalecurtis@chromium.org>
Date: Thu Jul 19 02:37:24 2018

Add profile parsing from the 'av1C' MP4 atom. Enable fuzzing.

This implements reading of the 'seq_profile' value from the
'av1C' atom per the spec description here:
https://aomediacodec.github.io/av1-isobmff/#av1codecconfigurationbox
https://aomediacodec.github.io/av1-spec/av1-spec.pdf (Section 5.2)

This also re-enables previously disabled tests and adds the various
bits necessary for av1 fuzzer tests.

Bug: 757047,  784993 ,  784607 
Test: Updated unittests and fuzzertests.
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: I05d8d42c8c022b7dc508ab8d212ad846ae1de8b6
Reviewed-on: https://chromium-review.googlesource.com/1107260
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Chrome Cunningham (In Paris) <chcunningham@chromium.org>
Reviewed-by: Tom Finegan <tomfinegan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#576335}
[modify] https://crrev.com/61cdd5258503998303ee40ca66e3c851c71956b4/media/formats/mp4/box_definitions.cc
[modify] https://crrev.com/61cdd5258503998303ee40ca66e3c851c71956b4/media/formats/mp4/box_definitions.h
[modify] https://crrev.com/61cdd5258503998303ee40ca66e3c851c71956b4/media/formats/mp4/fourccs.h
[modify] https://crrev.com/61cdd5258503998303ee40ca66e3c851c71956b4/media/test/BUILD.gn
[modify] https://crrev.com/61cdd5258503998303ee40ca66e3c851c71956b4/media/test/data/bear-av1.mp4
[modify] https://crrev.com/61cdd5258503998303ee40ca66e3c851c71956b4/media/test/mp4.dict
[modify] https://crrev.com/61cdd5258503998303ee40ca66e3c851c71956b4/media/test/pipeline_integration_fuzzertest.cc
[modify] https://crrev.com/61cdd5258503998303ee40ca66e3c851c71956b4/media/test/pipeline_integration_test.cc

Sign in to add a comment