From d8bbc7858622b6d9c278469aab701ca0b609cddf Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 15 May 2024 05:35:49 +0200 Subject: Merging upstream version 126.0. Signed-off-by: Daniel Baumann --- dom/media/gtest/TestMediaDataEncoder.cpp | 125 ++++++++++++------------------- 1 file changed, 48 insertions(+), 77 deletions(-) (limited to 'dom/media/gtest/TestMediaDataEncoder.cpp') diff --git a/dom/media/gtest/TestMediaDataEncoder.cpp b/dom/media/gtest/TestMediaDataEncoder.cpp index 27a6b7cd07..39c92fb19c 100644 --- a/dom/media/gtest/TestMediaDataEncoder.cpp +++ b/dom/media/gtest/TestMediaDataEncoder.cpp @@ -33,7 +33,7 @@ #define FRAME_RATE 30 #define FRAME_DURATION (1000000 / FRAME_RATE) #define BIT_RATE (1000 * 1000) // 1Mbps -#define BIT_RATE_MODE MediaDataEncoder::BitrateMode::Variable +#define BIT_RATE_MODE BitrateMode::Variable #define KEYFRAME_INTERVAL FRAME_RATE // 1 keyframe per second using namespace mozilla; @@ -156,9 +156,8 @@ class MediaDataEncoderTest : public testing::Test { template already_AddRefed CreateVideoEncoder( - CodecType aCodec, MediaDataEncoder::Usage aUsage, - MediaDataEncoder::PixelFormat aPixelFormat, int32_t aWidth, int32_t aHeight, - MediaDataEncoder::ScalabilityMode aScalabilityMode, + CodecType aCodec, Usage aUsage, dom::ImageBitmapFormat aPixelFormat, + int32_t aWidth, int32_t aHeight, ScalabilityMode aScalabilityMode, const Maybe& aSpecific) { RefPtr f(new PEMFactory()); @@ -171,13 +170,7 @@ already_AddRefed CreateVideoEncoder( "TestMediaDataEncoder")); RefPtr e; -#ifdef MOZ_WIDGET_ANDROID - const MediaDataEncoder::HardwarePreference pref = - MediaDataEncoder::HardwarePreference::None; -#else - const MediaDataEncoder::HardwarePreference pref = - MediaDataEncoder::HardwarePreference::None; -#endif + const HardwarePreference pref = HardwarePreference::None; e = f->CreateEncoder( EncoderConfig(aCodec, gfx::IntSize{aWidth, aHeight}, aUsage, aPixelFormat, aPixelFormat, FRAME_RATE /* FPS */, @@ -190,12 +183,10 @@ already_AddRefed CreateVideoEncoder( } static already_AddRefed CreateH264Encoder( - MediaDataEncoder::Usage aUsage = MediaDataEncoder::Usage::Realtime, - MediaDataEncoder::PixelFormat aPixelFormat = - MediaDataEncoder::PixelFormat::YUV420P, + Usage aUsage = Usage::Realtime, + dom::ImageBitmapFormat aPixelFormat = dom::ImageBitmapFormat::YUV420P, int32_t aWidth = WIDTH, int32_t aHeight = HEIGHT, - MediaDataEncoder::ScalabilityMode aScalabilityMode = - MediaDataEncoder::ScalabilityMode::None, + ScalabilityMode aScalabilityMode = ScalabilityMode::None, const Maybe& aSpecific = Some(kH264SpecificAnnexB)) { return CreateVideoEncoder(CodecType::H264, aUsage, aPixelFormat, aWidth, aHeight, aScalabilityMode, aSpecific); @@ -234,10 +225,7 @@ static bool EnsureInit(const RefPtr& aEncoder) { bool succeeded; media::Await( GetMediaThreadPool(MediaThreadType::SUPERVISOR), aEncoder->Init(), - [&succeeded](TrackInfo::TrackType t) { - EXPECT_EQ(TrackInfo::TrackType::kVideoTrack, t); - succeeded = true; - }, + [&succeeded](bool) { succeeded = true; }, [&succeeded](const MediaResult& r) { succeeded = false; }); return succeeded; } @@ -246,9 +234,8 @@ TEST_F(MediaDataEncoderTest, H264Inits) { RUN_IF_SUPPORTED(CodecType::H264, []() { // w/o codec specific: should fail for h264. RefPtr e = - CreateH264Encoder(MediaDataEncoder::Usage::Realtime, - MediaDataEncoder::PixelFormat::YUV420P, WIDTH, HEIGHT, - MediaDataEncoder::ScalabilityMode::None, Nothing()); + CreateH264Encoder(Usage::Realtime, dom::ImageBitmapFormat::YUV420P, + WIDTH, HEIGHT, ScalabilityMode::None, Nothing()); EXPECT_FALSE(e); // w/ codec specific @@ -319,9 +306,8 @@ TEST_F(MediaDataEncoderTest, H264Encodes) { WaitForShutdown(e); // Encode one frame and output in avcC format. - e = CreateH264Encoder(MediaDataEncoder::Usage::Record, - MediaDataEncoder::PixelFormat::YUV420P, WIDTH, HEIGHT, - MediaDataEncoder::ScalabilityMode::None, + e = CreateH264Encoder(Usage::Record, dom::ImageBitmapFormat::YUV420P, WIDTH, + HEIGHT, ScalabilityMode::None, Some(kH264SpecificAVCC)); EnsureInit(e); output = Encode(e, NUM_FRAMES, mData); @@ -349,22 +335,19 @@ TEST_F(MediaDataEncoderTest, H264Duration) { TEST_F(MediaDataEncoderTest, InvalidSize) { RUN_IF_SUPPORTED(CodecType::H264, []() { - RefPtr e0x0 = CreateH264Encoder( - MediaDataEncoder::Usage::Realtime, - MediaDataEncoder::PixelFormat::YUV420P, 0, 0, - MediaDataEncoder::ScalabilityMode::None, Some(kH264SpecificAnnexB)); + RefPtr e0x0 = + CreateH264Encoder(Usage::Realtime, dom::ImageBitmapFormat::YUV420P, 0, + 0, ScalabilityMode::None, Some(kH264SpecificAnnexB)); EXPECT_EQ(e0x0, nullptr); - RefPtr e0x1 = CreateH264Encoder( - MediaDataEncoder::Usage::Realtime, - MediaDataEncoder::PixelFormat::YUV420P, 0, 1, - MediaDataEncoder::ScalabilityMode::None, Some(kH264SpecificAnnexB)); + RefPtr e0x1 = + CreateH264Encoder(Usage::Realtime, dom::ImageBitmapFormat::YUV420P, 0, + 1, ScalabilityMode::None, Some(kH264SpecificAnnexB)); EXPECT_EQ(e0x1, nullptr); - RefPtr e1x0 = CreateH264Encoder( - MediaDataEncoder::Usage::Realtime, - MediaDataEncoder::PixelFormat::YUV420P, 1, 0, - MediaDataEncoder::ScalabilityMode::None, Some(kH264SpecificAnnexB)); + RefPtr e1x0 = + CreateH264Encoder(Usage::Realtime, dom::ImageBitmapFormat::YUV420P, 1, + 0, ScalabilityMode::None, Some(kH264SpecificAnnexB)); EXPECT_EQ(e1x0, nullptr); }); } @@ -372,10 +355,9 @@ TEST_F(MediaDataEncoderTest, InvalidSize) { #ifdef MOZ_WIDGET_ANDROID TEST_F(MediaDataEncoderTest, AndroidNotSupportedSize) { RUN_IF_SUPPORTED(CodecType::H264, []() { - RefPtr e = CreateH264Encoder( - MediaDataEncoder::Usage::Realtime, - MediaDataEncoder::PixelFormat::YUV420P, 1, 1, - MediaDataEncoder::ScalabilityMode::None, Some(kH264SpecificAnnexB)); + RefPtr e = + CreateH264Encoder(Usage::Realtime, dom::ImageBitmapFormat::YUV420P, 1, + 1, ScalabilityMode::None, Some(kH264SpecificAnnexB)); EXPECT_NE(e, nullptr); EXPECT_FALSE(EnsureInit(e)); }); @@ -387,9 +369,8 @@ TEST_F(MediaDataEncoderTest, H264AVCC) { RUN_IF_SUPPORTED(CodecType::H264, [this]() { // Encod frames in avcC format. RefPtr e = CreateH264Encoder( - MediaDataEncoder::Usage::Record, MediaDataEncoder::PixelFormat::YUV420P, - WIDTH, HEIGHT, MediaDataEncoder::ScalabilityMode::None, - Some(kH264SpecificAVCC)); + Usage::Record, dom::ImageBitmapFormat::YUV420P, WIDTH, HEIGHT, + ScalabilityMode::None, Some(kH264SpecificAVCC)); EnsureInit(e); MediaDataEncoder::EncodedData output = Encode(e, NUM_FRAMES, mData); EXPECT_EQ(output.Length(), NUM_FRAMES); @@ -412,24 +393,20 @@ TEST_F(MediaDataEncoderTest, H264AVCC) { #endif static already_AddRefed CreateVP8Encoder( - MediaDataEncoder::Usage aUsage = MediaDataEncoder::Usage::Realtime, - MediaDataEncoder::PixelFormat aPixelFormat = - MediaDataEncoder::PixelFormat::YUV420P, + Usage aUsage = Usage::Realtime, + dom::ImageBitmapFormat aPixelFormat = dom::ImageBitmapFormat::YUV420P, int32_t aWidth = WIDTH, int32_t aHeight = HEIGHT, - MediaDataEncoder::ScalabilityMode aScalabilityMode = - MediaDataEncoder::ScalabilityMode::None, + ScalabilityMode aScalabilityMode = ScalabilityMode::None, const Maybe& aSpecific = Some(VP8Specific())) { return CreateVideoEncoder(CodecType::VP8, aUsage, aPixelFormat, aWidth, aHeight, aScalabilityMode, aSpecific); } static already_AddRefed CreateVP9Encoder( - MediaDataEncoder::Usage aUsage = MediaDataEncoder::Usage::Realtime, - MediaDataEncoder::PixelFormat aPixelFormat = - MediaDataEncoder::PixelFormat::YUV420P, + Usage aUsage = Usage::Realtime, + dom::ImageBitmapFormat aPixelFormat = dom::ImageBitmapFormat::YUV420P, int32_t aWidth = WIDTH, int32_t aHeight = HEIGHT, - MediaDataEncoder::ScalabilityMode aScalabilityMode = - MediaDataEncoder::ScalabilityMode::None, + ScalabilityMode aScalabilityMode = ScalabilityMode::None, const Maybe& aSpecific = Some(VP9Specific())) { return CreateVideoEncoder(CodecType::VP9, aUsage, aPixelFormat, aWidth, aHeight, aScalabilityMode, aSpecific); @@ -447,9 +424,8 @@ TEST_F(MediaDataEncoderTest, VP8Inits) { RUN_IF_SUPPORTED(CodecType::VP8, []() { // w/o codec specific. RefPtr e = - CreateVP8Encoder(MediaDataEncoder::Usage::Realtime, - MediaDataEncoder::PixelFormat::YUV420P, WIDTH, HEIGHT, - MediaDataEncoder::ScalabilityMode::None, Nothing()); + CreateVP8Encoder(Usage::Realtime, dom::ImageBitmapFormat::YUV420P, + WIDTH, HEIGHT, ScalabilityMode::None, Nothing()); EXPECT_TRUE(EnsureInit(e)); WaitForShutdown(e); @@ -551,10 +527,9 @@ TEST_F(MediaDataEncoderTest, VP8EncodeWithScalabilityModeL1T2) { false, /* mAutoResize */ false /* mFrameDropping */ ); - RefPtr e = CreateVP8Encoder( - MediaDataEncoder::Usage::Realtime, - MediaDataEncoder::PixelFormat::YUV420P, WIDTH, HEIGHT, - MediaDataEncoder::ScalabilityMode::L1T2, Some(specific)); + RefPtr e = + CreateVP8Encoder(Usage::Realtime, dom::ImageBitmapFormat::YUV420P, + WIDTH, HEIGHT, ScalabilityMode::L1T2, Some(specific)); EnsureInit(e); const nsTArray pattern({0, 1}); @@ -580,10 +555,9 @@ TEST_F(MediaDataEncoderTest, VP8EncodeWithScalabilityModeL1T3) { false, /* mAutoResize */ false /* mFrameDropping */ ); - RefPtr e = CreateVP8Encoder( - MediaDataEncoder::Usage::Realtime, - MediaDataEncoder::PixelFormat::YUV420P, WIDTH, HEIGHT, - MediaDataEncoder::ScalabilityMode::L1T3, Some(specific)); + RefPtr e = + CreateVP8Encoder(Usage::Realtime, dom::ImageBitmapFormat::YUV420P, + WIDTH, HEIGHT, ScalabilityMode::L1T3, Some(specific)); EnsureInit(e); const nsTArray pattern({0, 2, 1, 2}); @@ -613,9 +587,8 @@ TEST_F(MediaDataEncoderTest, VP9Inits) { RUN_IF_SUPPORTED(CodecType::VP9, []() { // w/o codec specific. RefPtr e = - CreateVP9Encoder(MediaDataEncoder::Usage::Realtime, - MediaDataEncoder::PixelFormat::YUV420P, WIDTH, HEIGHT, - MediaDataEncoder::ScalabilityMode::None, Nothing()); + CreateVP9Encoder(Usage::Realtime, dom::ImageBitmapFormat::YUV420P, + WIDTH, HEIGHT, ScalabilityMode::None, Nothing()); EXPECT_TRUE(EnsureInit(e)); WaitForShutdown(e); @@ -719,10 +692,9 @@ TEST_F(MediaDataEncoderTest, VP9EncodeWithScalabilityModeL1T2) { false /* mFlexible */ ); - RefPtr e = CreateVP9Encoder( - MediaDataEncoder::Usage::Realtime, - MediaDataEncoder::PixelFormat::YUV420P, WIDTH, HEIGHT, - MediaDataEncoder::ScalabilityMode::L1T2, Some(specific)); + RefPtr e = + CreateVP9Encoder(Usage::Realtime, dom::ImageBitmapFormat::YUV420P, + WIDTH, HEIGHT, ScalabilityMode::L1T2, Some(specific)); EnsureInit(e); const nsTArray pattern({0, 1}); @@ -751,10 +723,9 @@ TEST_F(MediaDataEncoderTest, VP9EncodeWithScalabilityModeL1T3) { false /* mFlexible */ ); - RefPtr e = CreateVP9Encoder( - MediaDataEncoder::Usage::Realtime, - MediaDataEncoder::PixelFormat::YUV420P, WIDTH, HEIGHT, - MediaDataEncoder::ScalabilityMode::L1T3, Some(specific)); + RefPtr e = + CreateVP9Encoder(Usage::Realtime, dom::ImageBitmapFormat::YUV420P, + WIDTH, HEIGHT, ScalabilityMode::L1T3, Some(specific)); EnsureInit(e); const nsTArray pattern({0, 2, 1, 2}); -- cgit v1.2.3