Fixed
Status Update
Comments
wu...@insta360.com <wu...@insta360.com> #2
Hi Ed, Thank you so much for these suggestions. I've been reviewing them and merging them in. Hopefully it should be live. I've included a thank you note too in the article.
le...@google.com <le...@google.com>
le...@google.com <le...@google.com>
ap...@google.com <ap...@google.com> #3
Great! Thanks a lot, I'll look for the live updates soon!
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit a9faca4c7962f86544f6fd6cd3e16a8253644764
Author: leo huang <leohuang@google.com>
Date: Thu Oct 05 13:57:09 2023
[Refactor] Pass and use VideoEncoderInfo finder instead of VideoProfile validator in BackupHdrProfileEncoderProfilesProvider
Some benefits to do so
* Since the QualityExploredEncoderProfilesProvider needs to do something similar to the BackupHdrProfileEncoderProfilesProvider.validateOrAdapt() but slightly different in creating the VideoProfile, it would be more flexible if we just provided the VideoEncoderInfo finder.
* The way to find VideoEncoderInfo can be consistent between EncoderProfilesProviders.
* The default finder instance can be reused.
Bug: 263961771
Test: ./gradlew camera:camera-video:testDebug
Change-Id: Ia6f1bfde1c6e19d8f4db570b7fff02dc64778160
M camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderVideoCapabilitiesTest.kt
M camera/camera-video/src/androidTest/java/androidx/camera/video/internal/BackupHdrProfileEncoderProfilesProviderTest.kt
M camera/camera-video/src/main/java/androidx/camera/video/Recorder.java
M camera/camera-video/src/main/java/androidx/camera/video/RecorderVideoCapabilities.java
M camera/camera-video/src/main/java/androidx/camera/video/VideoCapture.java
M camera/camera-video/src/main/java/androidx/camera/video/internal/BackupHdrProfileEncoderProfilesProvider.java
M camera/camera-video/src/main/java/androidx/camera/video/internal/encoder/VideoEncoderInfoImpl.java
M camera/camera-video/src/test/java/androidx/camera/video/RecorderVideoCapabilitiesTest.kt
M camera/camera-video/src/test/java/androidx/camera/video/internal/BackupHdrProfileEncoderProfilesProviderTest.kt
https://android-review.googlesource.com/2776668
Branch: androidx-main
commit a9faca4c7962f86544f6fd6cd3e16a8253644764
Author: leo huang <leohuang@google.com>
Date: Thu Oct 05 13:57:09 2023
[Refactor] Pass and use VideoEncoderInfo finder instead of VideoProfile validator in BackupHdrProfileEncoderProfilesProvider
Some benefits to do so
* Since the QualityExploredEncoderProfilesProvider needs to do something similar to the BackupHdrProfileEncoderProfilesProvider.validateOrAdapt() but slightly different in creating the VideoProfile, it would be more flexible if we just provided the VideoEncoderInfo finder.
* The way to find VideoEncoderInfo can be consistent between EncoderProfilesProviders.
* The default finder instance can be reused.
Bug: 263961771
Test: ./gradlew camera:camera-video:testDebug
Change-Id: Ia6f1bfde1c6e19d8f4db570b7fff02dc64778160
M camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderVideoCapabilitiesTest.kt
M camera/camera-video/src/androidTest/java/androidx/camera/video/internal/BackupHdrProfileEncoderProfilesProviderTest.kt
M camera/camera-video/src/main/java/androidx/camera/video/Recorder.java
M camera/camera-video/src/main/java/androidx/camera/video/RecorderVideoCapabilities.java
M camera/camera-video/src/main/java/androidx/camera/video/VideoCapture.java
M camera/camera-video/src/main/java/androidx/camera/video/internal/BackupHdrProfileEncoderProfilesProvider.java
M camera/camera-video/src/main/java/androidx/camera/video/internal/encoder/VideoEncoderInfoImpl.java
M camera/camera-video/src/test/java/androidx/camera/video/RecorderVideoCapabilitiesTest.kt
M camera/camera-video/src/test/java/androidx/camera/video/internal/BackupHdrProfileEncoderProfilesProviderTest.kt
ap...@google.com <ap...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit dd2631baf7de4bf276cc3dc114af24820b72110c
Author: leo huang <leohuang@google.com>
Date: Tue Oct 03 11:15:10 2023
Add QualityExploredEncoderProfilesProvider
This class will base on camera and codec capabilities to explore more quailities beyond CamcorderProfile.
Bug: 263961771
Test: ./gradlew camera:camera-video:testDebug
Change-Id: I7aa5c52389b29c509433418991a4390895bc6501
M camera/camera-core/src/main/java/androidx/camera/core/internal/utils/SizeUtil.java
M camera/camera-testing/src/main/java/androidx/camera/testing/impl/EncoderProfilesUtil.kt
M camera/camera-video/src/main/java/androidx/camera/video/CapabilitiesByQuality.java
M camera/camera-video/src/main/java/androidx/camera/video/Quality.java
M camera/camera-video/src/main/java/androidx/camera/video/RecorderVideoCapabilities.java
M camera/camera-video/src/main/java/androidx/camera/video/internal/BackupHdrProfileEncoderProfilesProvider.java
M camera/camera-video/src/main/java/androidx/camera/video/internal/DynamicRangeMatchedEncoderProfilesProvider.java
A camera/camera-video/src/main/java/androidx/camera/video/internal/QualityExploredEncoderProfilesProvider.java
M camera/camera-video/src/main/java/androidx/camera/video/internal/config/VideoConfigUtil.java
M camera/camera-video/src/main/java/androidx/camera/video/internal/utils/DynamicRangeUtil.java
A camera/camera-video/src/test/java/androidx/camera/video/internal/QualityExploredEncoderProfilesProviderTest.kt
https://android-review.googlesource.com/2770786
Branch: androidx-main
commit dd2631baf7de4bf276cc3dc114af24820b72110c
Author: leo huang <leohuang@google.com>
Date: Tue Oct 03 11:15:10 2023
Add QualityExploredEncoderProfilesProvider
This class will base on camera and codec capabilities to explore more quailities beyond CamcorderProfile.
Bug: 263961771
Test: ./gradlew camera:camera-video:testDebug
Change-Id: I7aa5c52389b29c509433418991a4390895bc6501
M camera/camera-core/src/main/java/androidx/camera/core/internal/utils/SizeUtil.java
M camera/camera-testing/src/main/java/androidx/camera/testing/impl/EncoderProfilesUtil.kt
M camera/camera-video/src/main/java/androidx/camera/video/CapabilitiesByQuality.java
M camera/camera-video/src/main/java/androidx/camera/video/Quality.java
M camera/camera-video/src/main/java/androidx/camera/video/RecorderVideoCapabilities.java
M camera/camera-video/src/main/java/androidx/camera/video/internal/BackupHdrProfileEncoderProfilesProvider.java
M camera/camera-video/src/main/java/androidx/camera/video/internal/DynamicRangeMatchedEncoderProfilesProvider.java
A camera/camera-video/src/main/java/androidx/camera/video/internal/QualityExploredEncoderProfilesProvider.java
M camera/camera-video/src/main/java/androidx/camera/video/internal/config/VideoConfigUtil.java
M camera/camera-video/src/main/java/androidx/camera/video/internal/utils/DynamicRangeUtil.java
A camera/camera-video/src/test/java/androidx/camera/video/internal/QualityExploredEncoderProfilesProviderTest.kt
ap...@google.com <ap...@google.com> #6
Project: platform/frameworks/support
Branch: androidx-main
commit 0f3a39df3c04c0c5b01f918fee7d76f35a15b9d5
Author: leo huang <leohuang@google.com>
Date: Wed Oct 04 14:51:01 2023
Support more qualities for VideoCapture
See go/camerax-video-support-more-qualities
Bug: 263961771
Test: ./gradlew camera:camera-video:testDebug
Change-Id: I692e12d62ad149f0d6a76ca11d886a98e70cc405
M camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderTest.kt
M camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderVideoCapabilitiesTest.kt
M camera/camera-video/src/main/java/androidx/camera/video/Recorder.java
M camera/camera-video/src/main/java/androidx/camera/video/RecorderVideoCapabilities.java
M camera/camera-video/src/test/java/androidx/camera/video/RecorderVideoCapabilitiesTest.kt
https://android-review.googlesource.com/2776669
Branch: androidx-main
commit 0f3a39df3c04c0c5b01f918fee7d76f35a15b9d5
Author: leo huang <leohuang@google.com>
Date: Wed Oct 04 14:51:01 2023
Support more qualities for VideoCapture
See go/camerax-video-support-more-qualities
Bug: 263961771
Test: ./gradlew camera:camera-video:testDebug
Change-Id: I692e12d62ad149f0d6a76ca11d886a98e70cc405
M camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderTest.kt
M camera/camera-video/src/androidTest/java/androidx/camera/video/RecorderVideoCapabilitiesTest.kt
M camera/camera-video/src/main/java/androidx/camera/video/Recorder.java
M camera/camera-video/src/main/java/androidx/camera/video/RecorderVideoCapabilities.java
M camera/camera-video/src/test/java/androidx/camera/video/RecorderVideoCapabilitiesTest.kt
ap...@google.com <ap...@google.com> #7
Project: platform/frameworks/support
Branch: androidx-main
commit 23a7c4883a80a2f572c0172bc3e2e34b8e8452db
Author: leo huang <leohuang@google.com>
Date: Mon Oct 23 11:44:23 2023
Add public APIs to support more qualities for VideoCapture
See go/camerax-video-support-more-qualities
Relnote: "Added APIs to support more qualities for VideoCapture. Recorder.Builder#setVideoCapabilitiesSource(int) can be used with VIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIES to create a Recorder instance which supports more qualities than VIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE. A common use case is when the application strives to record UHD video whenever feasible, but the device's CamcorderProfile does not include a UHD settings, even though the codec is capable of recording UHD video."
Bug: 263961771
Test: ./gradlew camera:camera-video:connectedAndroidTest
Change-Id: Iedbe2ae048c09a978b345b23d37ab989c000fd7a
M camera/camera-video/api/current.txt
M camera/camera-video/api/restricted_current.txt
M camera/camera-video/src/main/java/androidx/camera/video/Recorder.java
https://android-review.googlesource.com/2799073
Branch: androidx-main
commit 23a7c4883a80a2f572c0172bc3e2e34b8e8452db
Author: leo huang <leohuang@google.com>
Date: Mon Oct 23 11:44:23 2023
Add public APIs to support more qualities for VideoCapture
See go/camerax-video-support-more-qualities
Relnote: "Added APIs to support more qualities for VideoCapture. Recorder.Builder#setVideoCapabilitiesSource(int) can be used with VIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIES to create a Recorder instance which supports more qualities than VIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE. A common use case is when the application strives to record UHD video whenever feasible, but the device's CamcorderProfile does not include a UHD settings, even though the codec is capable of recording UHD video."
Bug: 263961771
Test: ./gradlew camera:camera-video:connectedAndroidTest
Change-Id: Iedbe2ae048c09a978b345b23d37ab989c000fd7a
M camera/camera-video/api/current.txt
M camera/camera-video/api/restricted_current.txt
M camera/camera-video/src/main/java/androidx/camera/video/Recorder.java
le...@google.com <le...@google.com>
le...@google.com <le...@google.com> #8
New API will be released on 1.4.0-alpha03
na...@google.com <na...@google.com> #9
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.camera:camera-core:1.4.0-alpha03
androidx.camera:camera-video:1.4.0-alpha03
Description
By design, CameraX VideoCapture refers to the
CamcorderProfile
's supported quality.However, there could be some supported qualities which are not listed by
CamcorderProfile
. The common one isUHD(2160P)
. CameraX will need a common approach to explore more supported qualities on each device and adds them to the supported quality list.