/frameworks/av/media/libheadtracking/include/media/ |
D | Pose.h | 33 class Pose3f { 38 Pose3f(const Eigen::Vector3f& translation, const Eigen::Quaternionf& rotation) in Pose3f() function 41 explicit Pose3f(const Eigen::Vector3f& translation) in Pose3f() function 42 : Pose3f(translation, Eigen::Quaternionf::Identity()) {} in Pose3f() 44 explicit Pose3f(const Eigen::Quaternionf& rotation) in Pose3f() function 45 : Pose3f(Eigen::Vector3f::Zero(), rotation) {} in Pose3f() 47 Pose3f() : Pose3f(Eigen::Vector3f::Zero(), Eigen::Quaternionf::Identity()) {} in Pose3f() function 49 Pose3f(const Pose3f& other) { *this = other; } in Pose3f() function 58 static std::optional<Pose3f> fromVector(const std::vector<float>& vec); 70 Pose3f& operator=(const Pose3f& other) { [all …]
|
D | HeadTrackingProcessor.h | 59 virtual void setWorldToHeadPose(int64_t timestamp, const Pose3f& worldToHead, 65 virtual void setWorldToScreenPose(int64_t timestamp, const Pose3f& worldToScreen) = 0; 70 virtual void setScreenToStagePose(const Pose3f& screenToStage) = 0; 88 virtual Pose3f getHeadToStagePose() const = 0;
|
/frameworks/av/media/libheadtracking/ |
D | Pose-test.cpp | 24 using android::media::Pose3f; 33 Pose3f pose; in TEST() 40 Pose3f pose(rot); in TEST() 47 Pose3f pose(trans); in TEST() 55 Pose3f pose(trans, rot); in TEST() 61 Pose3f pose({1, 2, 3}, Quaternionf::UnitRandom()); in TEST() 62 EXPECT_EQ(pose.inverse() * pose, Pose3f()); in TEST() 63 EXPECT_EQ(pose * pose.inverse(), Pose3f()); in TEST() 69 EXPECT_EQ(Pose3f({1, 2, 3}, rotationVectorToQuaternion({4, 5, 6})), in TEST() 70 Pose3f({1 + eps, 2 + eps, 3 + eps}, in TEST() [all …]
|
D | PoseDriftCompensator-test.cpp | 35 EXPECT_EQ(comp.getOutput(), Pose3f()); in TEST() 39 Pose3f pose1({1, 2, 3}, Quaternionf::UnitRandom()); in TEST() 40 Pose3f pose2({4, 5, 6}, Quaternionf::UnitRandom()); in TEST() 45 EXPECT_EQ(comp.getOutput(), Pose3f()); in TEST() 52 EXPECT_EQ(comp.getOutput(), Pose3f()); in TEST() 55 EXPECT_EQ(comp.getOutput(), Pose3f()); in TEST() 62 Pose3f pose1({1, 2, 3}, Quaternionf::UnitRandom()); in TEST() 63 Pose3f pose2({4, 5, 6}, Quaternionf::UnitRandom()); in TEST() 67 EXPECT_EQ(comp.getOutput(), Pose3f()); in TEST() 73 EXPECT_EQ(comp.getOutput(), Pose3f()); in TEST() [all …]
|
D | HeadTrackingProcessor-test.cpp | 39 EXPECT_EQ(processor->getHeadToStagePose(), Pose3f()); in TEST() 44 const Pose3f worldToHead{{1, 2, 3}, Quaternionf::UnitRandom()}; in TEST() 45 const Pose3f worldToScreen{{4, 5, 6}, Quaternionf::UnitRandom()}; in TEST() 46 const Pose3f screenToStage{{7, 8, 9}, Quaternionf::UnitRandom()}; in TEST() 53 processor->setWorldToHeadPose(0, Pose3f(), Twist3f()); in TEST() 54 processor->setWorldToScreenPose(0, Pose3f()); in TEST() 63 Pose3f(rotateY(-physicalToLogical)) * in TEST() 78 const Pose3f worldToHead{{1, 2, 3}, Quaternionf::UnitRandom()}; in TEST() 80 const Pose3f worldToScreen{{4, 5, 6}, Quaternionf::UnitRandom()}; in TEST() 88 processor->setWorldToHeadPose(0, Pose3f(), Twist3f()); in TEST() [all …]
|
D | StillnessDetector-test.cpp | 46 const Pose3f baseline(Vector3f{1, 2, 3}, Quaternionf::UnitRandom()); in TEST_P() 47 const Pose3f withinThreshold = in TEST_P() 48 baseline * Pose3f(Vector3f(0.3, -0.3, 0), rotateX(0.01) * rotateY(-0.01)); in TEST_P() 75 const Pose3f baseline(Vector3f{1, 2, 3}, Quaternionf::UnitRandom()); in TEST_P() 76 const Pose3f withinThreshold = in TEST_P() 77 baseline * Pose3f(Vector3f(0.3, -0.3, 0), rotateX(0.01) * rotateY(-0.01)); in TEST_P() 78 const Pose3f outsideThreshold = baseline * Pose3f(Vector3f(1, 1, 0)); in TEST_P() 99 const Pose3f baseline(Vector3f{1, 2, 3}, Quaternionf::UnitRandom()); in TEST_P() 100 const Pose3f withinThreshold = in TEST_P() 101 baseline * Pose3f(Vector3f(0.3, -0.3, 0), rotateX(0.03) * rotateY(-0.03)); in TEST_P() [all …]
|
D | Pose.cpp | 28 std::optional<Pose3f> Pose3f::fromVector(const std::vector<float>& vec) { in fromVector() 32 return Pose3f({vec[0], vec[1], vec[2]}, rotationVectorToQuaternion({vec[3], vec[4], vec[5]})); in fromVector() 35 std::vector<float> Pose3f::toVector() const { in toVector() 40 std::string Pose3f::toString() const { in toString() 53 std::tuple<Pose3f, bool> moveWithRateLimit(const Pose3f& from, const Pose3f& to, float t, in moveWithRateLimit() 65 Pose3f fromToTo = from.inverse() * to; in moveWithRateLimit() 77 std::ostream& operator<<(std::ostream& os, const Pose3f& pose) { in operator <<()
|
D | ModeSelector-test.cpp | 37 EXPECT_EQ(selector.getHeadToStagePose(), Pose3f()); in TEST() 41 const Pose3f worldToHead({1, 2, 3}, Quaternionf::UnitRandom()); in TEST() 54 const Pose3f screenToHead({1, 2, 3}, Quaternionf::UnitRandom()); in TEST() 66 const Pose3f worldToHead({1, 2, 3}, Quaternionf::UnitRandom()); in TEST() 67 const Pose3f screenToStage({4, 5, 6}, Quaternionf::UnitRandom()); in TEST() 82 const Pose3f worldToHead({1, 2, 3}, Quaternionf::UnitRandom()); in TEST() 83 const Pose3f screenToStage({4, 5, 6}, Quaternionf::UnitRandom()); in TEST() 98 const Pose3f worldToHead({1, 2, 3}, Quaternionf::UnitRandom()); in TEST() 99 const Pose3f screenToStage({4, 5, 6}, Quaternionf::UnitRandom()); in TEST() 114 const Pose3f worldToHead({1, 2, 3}, Quaternionf::UnitRandom()); in TEST() [all …]
|
D | ModeSelector.h | 79 void setScreenToStagePose(const Pose3f& screenToStage); 87 void setScreenToHeadPose(int64_t timestamp, const std::optional<Pose3f>& screenToHead); 94 void setWorldToHeadPose(int64_t timestamp, const Pose3f& worldToHead); 110 Pose3f getHeadToStagePose() const; 124 Pose3f mScreenToStage; 125 std::optional<Pose3f> mScreenToHead; 127 std::optional<Pose3f> mWorldToHead; 133 Pose3f mHeadToStage;
|
D | PoseRateLimiter-test.cpp | 33 Pose3f target({1, 2, 3}, Quaternionf::UnitRandom()); in TEST() 40 Pose3f target1({1, 2, 3}, Quaternionf::UnitRandom()); in TEST() 41 Pose3f target2({4, 5, 6}, Quaternionf::UnitRandom()); in TEST() 52 Pose3f pose1({1, 2, 3}, Quaternionf::Identity()); in TEST() 53 Pose3f pose2({1, 2, 8}, rotateZ(M_PI * 5 / 8)); in TEST() 65 EXPECT_EQ(limiter.calculatePose(1002), Pose3f({1, 2, 4}, rotateZ(M_PI * 1 / 8))); in TEST() 67 EXPECT_EQ(limiter.calculatePose(1003), Pose3f({1, 2, 5}, rotateZ(M_PI * 2 / 8))); in TEST() 70 EXPECT_EQ(limiter.calculatePose(1005), Pose3f({1, 2, 7}, rotateZ(M_PI * 4 / 8))); in TEST() 80 Pose3f pose1({1, 2, 3}, Quaternionf::Identity()); in TEST() 81 Pose3f pose2({1, 2, 8}, rotateZ(M_PI * 5 / 8)); in TEST() [all …]
|
D | PoseDriftCompensator.cpp | 31 void PoseDriftCompensator::setInput(int64_t timestamp, const Pose3f& input) { in setInput() 34 Pose3f prevInputToInput = mPrevInput.inverse() * input; in setInput() 43 mOutput = Pose3f(); in recenter() 46 Pose3f PoseDriftCompensator::getOutput() const { in getOutput() 50 Pose3f PoseDriftCompensator::scale(const Pose3f& pose, int64_t dt) { in scale() 59 return Pose3f(translation, rotationVectorToQuaternion(rotationVec)); in scale()
|
D | PosePredictor.h | 32 virtual void add(int64_t atNs, const Pose3f& pose, const Twist3f& twist) = 0; 33 virtual Pose3f predict(int64_t atNs) const = 0; 46 void add(int64_t atNs, const Pose3f& pose, const Twist3f& twist) override { in add() 52 Pose3f predict(int64_t atNs) const override { in predict() 74 Pose3f mLastPose; 84 void add(int64_t atNs, const Pose3f& pose, const Twist3f& twist) override { in add() 90 Pose3f predict(int64_t atNs) const override { in predict() 116 Pose3f mLastPose; 139 void add(int64_t atNs, const Pose3f& pose, const Twist3f& twist) override; 140 Pose3f predict(int64_t atNs) const override; [all …]
|
D | PoseDriftCompensator.h | 57 void setInput(int64_t timestamp, const Pose3f& input); 61 Pose3f getOutput() const; 66 Pose3f mPrevInput; 67 Pose3f mOutput; 70 Pose3f scale(const Pose3f& pose, int64_t dt);
|
D | PoseRateLimiter.h | 75 void reset(const Pose3f& target); 76 void setTarget(const Pose3f& target); 78 Pose3f calculatePose(int64_t timestamp); 84 Pose3f pose; 90 std::optional<Pose3f> mTargetPose;
|
D | PoseBias-test.cpp | 33 EXPECT_EQ(bias.getOutput(), Pose3f()); in TEST() 37 Pose3f pose1({1, 2, 3}, Quaternionf::UnitRandom()); in TEST() 38 Pose3f pose2({4, 5, 6}, Quaternionf::UnitRandom()); in TEST() 44 EXPECT_EQ(bias.getOutput(), Pose3f()); in TEST() 48 EXPECT_EQ(bias.getOutput(), Pose3f()); in TEST()
|
D | PoseBias.h | 48 void setInput(const Pose3f& input); 52 Pose3f getOutput() const; 55 Pose3f mLastWorldToInput; 56 Pose3f mBiasToWorld;
|
D | ScreenHeadFusion-test.cpp | 36 fusion.setWorldToScreenPose(0, Pose3f()); in TEST() 42 fusion.setWorldToHeadPose(0, Pose3f()); in TEST() 47 Pose3f worldToScreen1({1, 2, 3}, Quaternionf::UnitRandom()); in TEST() 48 Pose3f worldToHead1({4, 5, 6}, Quaternionf::UnitRandom()); in TEST() 49 Pose3f worldToScreen2({11, 12, 13}, Quaternionf::UnitRandom()); in TEST() 50 Pose3f worldToHead2({14, 15, 16}, Quaternionf::UnitRandom()); in TEST()
|
D | TestUtil.h | 35 inline AssertionResult CmpHelperEQ<android::media::Pose3f, android::media::Pose3f>( 36 const char* lhs_expression, const char* rhs_expression, const android::media::Pose3f& lhs, 37 const android::media::Pose3f& rhs) { 46 inline AssertionResult CmpHelperNE<android::media::Pose3f, android::media::Pose3f>( 47 const char* lhs_expression, const char* rhs_expression, const android::media::Pose3f& lhs, 48 const android::media::Pose3f& rhs) {
|
D | StillnessDetector.h | 80 void setInput(int64_t timestamp, const Pose3f& input); 88 Pose3f pose; 104 bool areNear(const Pose3f& pose1, const Pose3f& pose2) const;
|
D | PoseRateLimiter.cpp | 30 void PoseRateLimiter::reset(const Pose3f& target) { in reset() 35 void PoseRateLimiter::setTarget(const Pose3f& target) { in setTarget() 39 Pose3f PoseRateLimiter::calculatePose(int64_t timestamp) { in calculatePose() 41 Pose3f pose; in calculatePose()
|
D | HeadTrackingProcessor.cpp | 61 void setWorldToHeadPose(int64_t timestamp, const Pose3f& worldToHead, in setWorldToHeadPose() 63 const Pose3f predictedWorldToHead = mPosePredictor.predict( in setWorldToHeadPose() 70 void setWorldToScreenPose(int64_t timestamp, const Pose3f& worldToScreen) override { in setWorldToScreenPose() 77 Pose3f worldToLogicalScreen = worldToScreen * Pose3f(rotateY(-mPhysicalToLogicalAngle)); in setWorldToScreenPose() 83 void setScreenToStagePose(const Pose3f& screenToStage) override { in setScreenToStagePose() 96 const Pose3f worldToLogicalScreen = mScreenPoseBias.getOutput(); in calculate() 109 Pose3f worldToHead = mHeadPoseBias.getOutput(); in calculate() 139 Pose3f getHeadToStagePose() const override { return mHeadToStagePose; } in getHeadToStagePose() 208 Pose3f mHeadToStagePose;
|
D | ScreenHeadFusion.h | 48 Pose3f pose; 51 void setWorldToHeadPose(int64_t timestamp, const Pose3f& worldToHead); 53 void setWorldToScreenPose(int64_t timestamp, const Pose3f& worldToScreen);
|
D | Twist.cpp | 24 Pose3f integrate(const Twist3f& twist, float dt) { in integrate() 27 return Pose3f(translation, rotationVectorToQuaternion(rotationVector)); in integrate() 30 Twist3f differentiate(const Pose3f& pose, float dt) { in differentiate()
|
D | PosePredictorVerifier.h | 39 void verifyActualPose(int64_t timestampNs, const Pose3f& pose) { in verifyActualPose() 56 void addPredictedPose(int64_t atNs, const Pose3f& pose) { in addPredictedPose() 70 std::deque<std::pair<int64_t, Pose3f>> mPredictions;
|
/frameworks/av/services/audiopolicy/service/ |
D | SpatializerPoseController.h | 56 virtual void onHeadToStagePose(const media::Pose3f&) = 0; 90 void setScreenToStagePose(const media::Pose3f& screenToStage); 154 void onPose(int64_t timestamp, int32_t sensor, const media::Pose3f& pose, 161 std::tuple<media::Pose3f, std::optional<media::HeadTrackingMode>> calculate_l();
|