Loading include/android/surface_control.h +39 −0 Original line number Diff line number Diff line Loading @@ -520,6 +520,45 @@ void ASurfaceTransaction_setHdrMetadata_cta861_3(ASurfaceTransaction* transactio struct AHdrMetadata_cta861_3* metadata) __INTRODUCED_IN(29); /** * Sets the desired extended range brightness for the layer. This only applies for layers whose * dataspace has RANGE_EXTENDED set on it. * * @param surface_control The layer whose extended range brightness is being specified * @param currentBufferRatio The current hdr/sdr ratio of the current buffer as represented as * peakHdrBrightnessInNits / targetSdrWhitePointInNits. For example if the * buffer was rendered with a target SDR whitepoint of 100nits and a max * display brightness of 200nits, this should be set to 2.0f. * * Default value is 1.0f. * * Transfer functions that encode their own brightness ranges, such as * HLG or PQ, should also set this to 1.0f and instead communicate * extended content brightness information via metadata such as CTA861_3 * or SMPTE2086. * * Must be finite && >= 1.0f * * @param desiredRatio The desired hdr/sdr ratio as represented as peakHdrBrightnessInNits / * targetSdrWhitePointInNits. This can be used to communicate the max desired * brightness range. This is similar to the "max luminance" value in other * HDR metadata formats, but represented as a ratio of the target SDR whitepoint * to the max display brightness. The system may not be able to, or may choose * not to, deliver the requested range. * * If unspecified, the system will attempt to provide the best range it can * for the given ambient conditions & device state. However, voluntarily * reducing the requested range can help improve battery life as well as can * improve quality by ensuring greater bit depth is allocated to the luminance * range in use. * * Must be finite && >= 1.0f */ void ASurfaceTransaction_setExtendedRangeBrightness(ASurfaceTransaction* transaction, ASurfaceControl* surface_control, float currentBufferRatio, float desiredRatio) __INTRODUCED_IN(__ANDROID_API_U__); /** * Same as ASurfaceTransaction_setFrameRateWithChangeStrategy(transaction, surface_control, * frameRate, compatibility, ANATIVEWINDOW_CHANGE_FRAME_RATE_ONLY_IF_SEAMLESS). Loading include/input/MotionPredictor.h +2 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include <cstdint> #include <memory> #include <mutex> #include <string> #include <unordered_map> #include <android-base/thread_annotations.h> Loading Loading @@ -73,6 +74,7 @@ public: private: const nsecs_t mPredictionTimestampOffsetNanos; const std::string mModelPath; const std::function<bool()> mCheckMotionPredictionEnabled; std::unique_ptr<TfLiteMotionPredictorModel> mModel; Loading libs/binder/Android.bp +4 −0 Original line number Diff line number Diff line Loading @@ -518,6 +518,10 @@ aidl_interface { enabled: false, }, }, visibility: [ ":__subpackages__", "//system/tools/aidl:__subpackages__", ], } // TODO(b/184872979): remove once the Rust API is created. Loading libs/binder/RpcState.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -1036,8 +1036,8 @@ processTransactInternalTailCall: return DEAD_OBJECT; } if (it->second.asyncTodo.size() != 0 && it->second.asyncTodo.top().asyncNumber == it->second.asyncNumber) { if (it->second.asyncTodo.size() == 0) return OK; if (it->second.asyncTodo.top().asyncNumber == it->second.asyncNumber) { LOG_RPC_DETAIL("Found next async transaction %" PRIu64 " on %" PRIu64, it->second.asyncNumber, addr); Loading libs/binder/include_rpc_unstable/binder_rpc_unstable.hpp +13 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,15 @@ enum class ARpcSession_FileDescriptorTransportMode { // could not be started. [[nodiscard]] ARpcServer* ARpcServer_newUnixDomainBootstrap(AIBinder* service, int bootstrapFd); // Starts an RPC server on a given IP address+port and a given IBinder object. // Returns an opaque handle to the running server instance, or null if the server // could not be started. // Does not take ownership of `service`. // Returns an opaque handle to the running service instance, or null if the server // could not be started. [[nodiscard]] ARpcServer* ARpcServer_newInet(AIBinder* service, const char* address, unsigned int port); // Sets the list of supported file descriptor transport modes of this RPC server. void ARpcServer_setSupportedFileDescriptorTransportModes( ARpcServer* handle, Loading Loading @@ -98,6 +107,10 @@ AIBinder* ARpcSession_setupUnixDomainClient(ARpcSession* session, const char* na AIBinder* ARpcSession_setupUnixDomainBootstrapClient(ARpcSession* session, int bootstrapFd); // Connects to an RPC server over an INET socket at a given IP address on a given port. // Returns the root Binder object of the server. AIBinder* ARpcSession_setupInet(ARpcSession* session, const char* address, unsigned int port); // Connects to an RPC server with preconnected file descriptors. // // requestFd should connect to the server and return a valid file descriptor, or Loading Loading
include/android/surface_control.h +39 −0 Original line number Diff line number Diff line Loading @@ -520,6 +520,45 @@ void ASurfaceTransaction_setHdrMetadata_cta861_3(ASurfaceTransaction* transactio struct AHdrMetadata_cta861_3* metadata) __INTRODUCED_IN(29); /** * Sets the desired extended range brightness for the layer. This only applies for layers whose * dataspace has RANGE_EXTENDED set on it. * * @param surface_control The layer whose extended range brightness is being specified * @param currentBufferRatio The current hdr/sdr ratio of the current buffer as represented as * peakHdrBrightnessInNits / targetSdrWhitePointInNits. For example if the * buffer was rendered with a target SDR whitepoint of 100nits and a max * display brightness of 200nits, this should be set to 2.0f. * * Default value is 1.0f. * * Transfer functions that encode their own brightness ranges, such as * HLG or PQ, should also set this to 1.0f and instead communicate * extended content brightness information via metadata such as CTA861_3 * or SMPTE2086. * * Must be finite && >= 1.0f * * @param desiredRatio The desired hdr/sdr ratio as represented as peakHdrBrightnessInNits / * targetSdrWhitePointInNits. This can be used to communicate the max desired * brightness range. This is similar to the "max luminance" value in other * HDR metadata formats, but represented as a ratio of the target SDR whitepoint * to the max display brightness. The system may not be able to, or may choose * not to, deliver the requested range. * * If unspecified, the system will attempt to provide the best range it can * for the given ambient conditions & device state. However, voluntarily * reducing the requested range can help improve battery life as well as can * improve quality by ensuring greater bit depth is allocated to the luminance * range in use. * * Must be finite && >= 1.0f */ void ASurfaceTransaction_setExtendedRangeBrightness(ASurfaceTransaction* transaction, ASurfaceControl* surface_control, float currentBufferRatio, float desiredRatio) __INTRODUCED_IN(__ANDROID_API_U__); /** * Same as ASurfaceTransaction_setFrameRateWithChangeStrategy(transaction, surface_control, * frameRate, compatibility, ANATIVEWINDOW_CHANGE_FRAME_RATE_ONLY_IF_SEAMLESS). Loading
include/input/MotionPredictor.h +2 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ #include <cstdint> #include <memory> #include <mutex> #include <string> #include <unordered_map> #include <android-base/thread_annotations.h> Loading Loading @@ -73,6 +74,7 @@ public: private: const nsecs_t mPredictionTimestampOffsetNanos; const std::string mModelPath; const std::function<bool()> mCheckMotionPredictionEnabled; std::unique_ptr<TfLiteMotionPredictorModel> mModel; Loading
libs/binder/Android.bp +4 −0 Original line number Diff line number Diff line Loading @@ -518,6 +518,10 @@ aidl_interface { enabled: false, }, }, visibility: [ ":__subpackages__", "//system/tools/aidl:__subpackages__", ], } // TODO(b/184872979): remove once the Rust API is created. Loading
libs/binder/RpcState.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -1036,8 +1036,8 @@ processTransactInternalTailCall: return DEAD_OBJECT; } if (it->second.asyncTodo.size() != 0 && it->second.asyncTodo.top().asyncNumber == it->second.asyncNumber) { if (it->second.asyncTodo.size() == 0) return OK; if (it->second.asyncTodo.top().asyncNumber == it->second.asyncNumber) { LOG_RPC_DETAIL("Found next async transaction %" PRIu64 " on %" PRIu64, it->second.asyncNumber, addr); Loading
libs/binder/include_rpc_unstable/binder_rpc_unstable.hpp +13 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,15 @@ enum class ARpcSession_FileDescriptorTransportMode { // could not be started. [[nodiscard]] ARpcServer* ARpcServer_newUnixDomainBootstrap(AIBinder* service, int bootstrapFd); // Starts an RPC server on a given IP address+port and a given IBinder object. // Returns an opaque handle to the running server instance, or null if the server // could not be started. // Does not take ownership of `service`. // Returns an opaque handle to the running service instance, or null if the server // could not be started. [[nodiscard]] ARpcServer* ARpcServer_newInet(AIBinder* service, const char* address, unsigned int port); // Sets the list of supported file descriptor transport modes of this RPC server. void ARpcServer_setSupportedFileDescriptorTransportModes( ARpcServer* handle, Loading Loading @@ -98,6 +107,10 @@ AIBinder* ARpcSession_setupUnixDomainClient(ARpcSession* session, const char* na AIBinder* ARpcSession_setupUnixDomainBootstrapClient(ARpcSession* session, int bootstrapFd); // Connects to an RPC server over an INET socket at a given IP address on a given port. // Returns the root Binder object of the server. AIBinder* ARpcSession_setupInet(ARpcSession* session, const char* address, unsigned int port); // Connects to an RPC server with preconnected file descriptors. // // requestFd should connect to the server and return a valid file descriptor, or Loading