diff options
Diffstat (limited to 'image')
-rw-r--r-- | image/Decoder.cpp | 49 | ||||
-rw-r--r-- | image/Decoder.h | 22 | ||||
-rw-r--r-- | image/DownscalingFilter.h | 4 | ||||
-rw-r--r-- | image/SurfaceFilters.h | 6 | ||||
-rw-r--r-- | image/SurfacePipe.cpp | 13 | ||||
-rw-r--r-- | image/SurfacePipe.h | 6 | ||||
-rw-r--r-- | image/SurfacePipeFactory.h | 22 | ||||
-rw-r--r-- | image/test/gtest/Common.h | 4 | ||||
-rw-r--r-- | image/test/gtest/TestADAM7InterpolatingFilter.cpp | 6 | ||||
-rw-r--r-- | image/test/gtest/TestDeinterlacingFilter.cpp | 6 | ||||
-rw-r--r-- | image/test/gtest/TestDownscalingFilter.cpp | 6 | ||||
-rw-r--r-- | image/test/gtest/TestDownscalingFilterNoSkia.cpp | 2 | ||||
-rw-r--r-- | image/test/gtest/TestRemoveFrameRectFilter.cpp | 6 | ||||
-rw-r--r-- | image/test/gtest/TestSurfacePipeIntegration.cpp | 20 | ||||
-rw-r--r-- | image/test/gtest/TestSurfaceSink.cpp | 4 |
15 files changed, 84 insertions, 92 deletions
diff --git a/image/Decoder.cpp b/image/Decoder.cpp index f9b1034cf..a6fd67c3f 100644 --- a/image/Decoder.cpp +++ b/image/Decoder.cpp @@ -278,14 +278,14 @@ Decoder::Telemetry() const } nsresult -Decoder::AllocateFrame(uint32_t aFrameNum, - const gfx::IntSize& aOutputSize, +Decoder::AllocateFrame(const gfx::IntSize& aOutputSize, const gfx::IntRect& aFrameRect, gfx::SurfaceFormat aFormat, - uint8_t aPaletteDepth) + uint8_t aPaletteDepth, + const Maybe<AnimationParams>& aAnimParams) { - mCurrentFrame = AllocateFrameInternal(aFrameNum, aOutputSize, aFrameRect, - aFormat, aPaletteDepth, + mCurrentFrame = AllocateFrameInternal(aOutputSize, aFrameRect, aFormat, + aPaletteDepth, aAnimParams, mCurrentFrame.get()); if (mCurrentFrame) { @@ -295,7 +295,7 @@ Decoder::AllocateFrame(uint32_t aFrameNum, // We should now be on |aFrameNum|. (Note that we're comparing the frame // number, which is zero-based, with the frame count, which is one-based.) - MOZ_ASSERT(aFrameNum + 1 == mFrameCount); + MOZ_ASSERT(aAnimParams, aAnimParams->mFrameNum + 1 == mFrameCount); // If we're past the first frame, PostIsAnimated() should've been called. MOZ_ASSERT_IF(mFrameCount > 1, HasAnimation()); @@ -309,18 +309,19 @@ Decoder::AllocateFrame(uint32_t aFrameNum, } RawAccessFrameRef -Decoder::AllocateFrameInternal(uint32_t aFrameNum, - const gfx::IntSize& aOutputSize, +Decoder::AllocateFrameInternal(const gfx::IntSize& aOutputSize, const gfx::IntRect& aFrameRect, SurfaceFormat aFormat, uint8_t aPaletteDepth, + const Maybe<AnimationParams>& aAnimParams, imgFrame* aPreviousFrame) { if (HasError()) { return RawAccessFrameRef(); } - if (aFrameNum != mFrameCount) { + uint32_t frameNum = aAnimParams ? aAnimParams->mFrameNum : 0; + if (frameNum != mFrameCount) { MOZ_ASSERT_UNREACHABLE("Allocating frames out of order"); return RawAccessFrameRef(); } @@ -334,7 +335,8 @@ Decoder::AllocateFrameInternal(uint32_t aFrameNum, NotNull<RefPtr<imgFrame>> frame = WrapNotNull(new imgFrame()); bool nonPremult = bool(mSurfaceFlags & SurfaceFlags::NO_PREMULTIPLY_ALPHA); if (NS_FAILED(frame->InitForDecoder(aOutputSize, aFrameRect, aFormat, - aPaletteDepth, nonPremult))) { + aPaletteDepth, nonPremult, + aAnimParams))) { NS_WARNING("imgFrame::Init should succeed"); return RawAccessFrameRef(); } @@ -345,22 +347,22 @@ Decoder::AllocateFrameInternal(uint32_t aFrameNum, return RawAccessFrameRef(); } - if (aFrameNum == 1) { + if (frameNum == 1) { MOZ_ASSERT(aPreviousFrame, "Must provide a previous frame when animated"); aPreviousFrame->SetRawAccessOnly(); // If we dispose of the first frame by clearing it, then the first frame's // refresh area is all of itself. // RESTORE_PREVIOUS is invalid (assumed to be DISPOSE_CLEAR). - AnimationData previousFrameData = aPreviousFrame->GetAnimationData(); - if (previousFrameData.mDisposalMethod == DisposalMethod::CLEAR || - previousFrameData.mDisposalMethod == DisposalMethod::CLEAR_ALL || - previousFrameData.mDisposalMethod == DisposalMethod::RESTORE_PREVIOUS) { - mFirstFrameRefreshArea = previousFrameData.mRect; + DisposalMethod prevDisposal = aPreviousFrame->GetDisposalMethod(); + if (prevDisposal == DisposalMethod::CLEAR || + prevDisposal == DisposalMethod::CLEAR_ALL || + prevDisposal == DisposalMethod::RESTORE_PREVIOUS) { + mFirstFrameRefreshArea = aPreviousFrame->GetRect(); } } - if (aFrameNum > 0) { + if (frameNum > 0) { ref->SetRawAccessOnly(); // Some GIFs are huge but only have a small area that they animate. We only @@ -432,13 +434,7 @@ Decoder::PostIsAnimated(FrameTimeout aFirstFrameTimeout) } void -Decoder::PostFrameStop(Opacity aFrameOpacity - /* = Opacity::SOME_TRANSPARENCY */, - DisposalMethod aDisposalMethod - /* = DisposalMethod::KEEP */, - FrameTimeout aTimeout /* = FrameTimeout::Forever() */, - BlendMethod aBlendMethod /* = BlendMethod::OVER */, - const Maybe<nsIntRect>& aBlendRect /* = Nothing() */) +Decoder::PostFrameStop(Opacity aFrameOpacity) { // We should be mid-frame MOZ_ASSERT(!IsMetadataDecode(), "Stopping frame during metadata decode"); @@ -449,12 +445,11 @@ Decoder::PostFrameStop(Opacity aFrameOpacity mInFrame = false; mFinishedNewFrame = true; - mCurrentFrame->Finish(aFrameOpacity, aDisposalMethod, aTimeout, - aBlendMethod, aBlendRect); + mCurrentFrame->Finish(aFrameOpacity); mProgress |= FLAG_FRAME_COMPLETE; - mLoopLength += aTimeout; + mLoopLength += mCurrentFrame->GetTimeout(); // If we're not sending partial invalidations, then we send an invalidation // here when the first frame is complete. diff --git a/image/Decoder.h b/image/Decoder.h index 065a3c213..ed0c19687 100644 --- a/image/Decoder.h +++ b/image/Decoder.h @@ -11,6 +11,7 @@ #include "mozilla/Maybe.h" #include "mozilla/NotNull.h" #include "mozilla/RefPtr.h" +#include "AnimationParams.h" #include "DecodePool.h" #include "DecoderFlags.h" #include "Downscaler.h" @@ -28,6 +29,8 @@ namespace Telemetry { namespace image { +class imgFrame; + struct DecoderFinalStatus final { DecoderFinalStatus(bool aWasMetadataDecode, @@ -443,11 +446,7 @@ protected: // Specify whether this frame is opaque as an optimization. // For animated images, specify the disposal, blend method and timeout for // this frame. - void PostFrameStop(Opacity aFrameOpacity = Opacity::SOME_TRANSPARENCY, - DisposalMethod aDisposalMethod = DisposalMethod::KEEP, - FrameTimeout aTimeout = FrameTimeout::Forever(), - BlendMethod aBlendMethod = BlendMethod::OVER, - const Maybe<nsIntRect>& aBlendRect = Nothing()); + void PostFrameStop(Opacity aFrameOpacity = Opacity::SOME_TRANSPARENCY); /** * Called by the decoders when they have a region to invalidate. We may not @@ -476,16 +475,13 @@ protected: /** * Allocates a new frame, making it our current frame if successful. * - * The @aFrameNum parameter only exists as a sanity check; it's illegal to - * create a new frame anywhere but immediately after the existing frames. - * * If a non-paletted frame is desired, pass 0 for aPaletteDepth. */ - nsresult AllocateFrame(uint32_t aFrameNum, - const gfx::IntSize& aOutputSize, + nsresult AllocateFrame(const gfx::IntSize& aOutputSize, const gfx::IntRect& aFrameRect, gfx::SurfaceFormat aFormat, - uint8_t aPaletteDepth = 0); + uint8_t aPaletteDepth = 0, + const Maybe<AnimationParams>& aAnimParams = Nothing()); private: /// Report that an error was encountered while decoding. @@ -509,11 +505,11 @@ private: return mInFrame ? mFrameCount - 1 : mFrameCount; } - RawAccessFrameRef AllocateFrameInternal(uint32_t aFrameNum, - const gfx::IntSize& aOutputSize, + RawAccessFrameRef AllocateFrameInternal(const gfx::IntSize& aOutputSize, const gfx::IntRect& aFrameRect, gfx::SurfaceFormat aFormat, uint8_t aPaletteDepth, + const Maybe<AnimationParams>& aAnimParams, imgFrame* aPreviousFrame); protected: diff --git a/image/DownscalingFilter.h b/image/DownscalingFilter.h index 1485b85c2..936abdcd5 100644 --- a/image/DownscalingFilter.h +++ b/image/DownscalingFilter.h @@ -74,7 +74,7 @@ public: Maybe<SurfaceInvalidRect> TakeInvalidRect() override { return Nothing(); } template <typename... Rest> - nsresult Configure(const DownscalingConfig& aConfig, Rest... aRest) + nsresult Configure(const DownscalingConfig& aConfig, const Rest&... aRest) { return NS_ERROR_FAILURE; } @@ -115,7 +115,7 @@ public: } template <typename... Rest> - nsresult Configure(const DownscalingConfig& aConfig, Rest... aRest) + nsresult Configure(const DownscalingConfig& aConfig, const Rest&... aRest) { nsresult rv = mNext.Configure(aRest...); if (NS_FAILED(rv)) { diff --git a/image/SurfaceFilters.h b/image/SurfaceFilters.h index 1885661b9..70c8d4087 100644 --- a/image/SurfaceFilters.h +++ b/image/SurfaceFilters.h @@ -70,7 +70,7 @@ public: { } template <typename... Rest> - nsresult Configure(const DeinterlacingConfig<PixelType>& aConfig, Rest... aRest) + nsresult Configure(const DeinterlacingConfig<PixelType>& aConfig, const Rest&... aRest) { nsresult rv = mNext.Configure(aRest...); if (NS_FAILED(rv)) { @@ -360,7 +360,7 @@ public: { } template <typename... Rest> - nsresult Configure(const RemoveFrameRectConfig& aConfig, Rest... aRest) + nsresult Configure(const RemoveFrameRectConfig& aConfig, const Rest&... aRest) { nsresult rv = mNext.Configure(aRest...); if (NS_FAILED(rv)) { @@ -590,7 +590,7 @@ public: { } template <typename... Rest> - nsresult Configure(const ADAM7InterpolatingConfig& aConfig, Rest... aRest) + nsresult Configure(const ADAM7InterpolatingConfig& aConfig, const Rest&... aRest) { nsresult rv = mNext.Configure(aRest...); if (NS_FAILED(rv)) { diff --git a/image/SurfacePipe.cpp b/image/SurfacePipe.cpp index 5c306144a..882315112 100644 --- a/image/SurfacePipe.cpp +++ b/image/SurfacePipe.cpp @@ -104,10 +104,11 @@ SurfaceSink::Configure(const SurfaceConfig& aConfig) // XXX(seth): Once every Decoder subclass uses SurfacePipe, we probably want // to allocate the frame directly here and get rid of Decoder::AllocateFrame // altogether. - nsresult rv = aConfig.mDecoder->AllocateFrame(aConfig.mFrameNum, - surfaceSize, + nsresult rv = aConfig.mDecoder->AllocateFrame(surfaceSize, frameRect, - aConfig.mFormat); + aConfig.mFormat, + /* aPaletteDepth */ 0, + aConfig.mAnimParams); if (NS_FAILED(rv)) { return rv; } @@ -154,11 +155,11 @@ PalettedSurfaceSink::Configure(const PalettedSurfaceConfig& aConfig) // XXX(seth): Once every Decoder subclass uses SurfacePipe, we probably want // to allocate the frame directly here and get rid of Decoder::AllocateFrame // altogether. - nsresult rv = aConfig.mDecoder->AllocateFrame(aConfig.mFrameNum, - aConfig.mOutputSize, + nsresult rv = aConfig.mDecoder->AllocateFrame(aConfig.mOutputSize, aConfig.mFrameRect, aConfig.mFormat, - aConfig.mPaletteDepth); + aConfig.mPaletteDepth, + aConfig.mAnimParams); if (NS_FAILED(rv)) { return rv; } diff --git a/image/SurfacePipe.h b/image/SurfacePipe.h index f046afa56..61c8d30df 100644 --- a/image/SurfacePipe.h +++ b/image/SurfacePipe.h @@ -34,6 +34,8 @@ #include "mozilla/Variant.h" #include "mozilla/gfx/2D.h" +#include "AnimationParams.h" + namespace mozilla { namespace image { @@ -722,10 +724,10 @@ struct SurfaceConfig { using Filter = SurfaceSink; Decoder* mDecoder; /// Which Decoder to use to allocate the surface. - uint32_t mFrameNum; /// Which frame of animation this surface is for. gfx::IntSize mOutputSize; /// The size of the surface. gfx::SurfaceFormat mFormat; /// The surface format (BGRA or BGRX). bool mFlipVertically; /// If true, write the rows from bottom to top. + Maybe<AnimationParams> mAnimParams; /// Given for animated images. }; /** @@ -750,12 +752,12 @@ struct PalettedSurfaceConfig { using Filter = PalettedSurfaceSink; Decoder* mDecoder; /// Which Decoder to use to allocate the surface. - uint32_t mFrameNum; /// Which frame of animation this surface is for. gfx::IntSize mOutputSize; /// The logical size of the surface. gfx::IntRect mFrameRect; /// The surface subrect which contains data. gfx::SurfaceFormat mFormat; /// The surface format (BGRA or BGRX). uint8_t mPaletteDepth; /// The palette depth of this surface. bool mFlipVertically; /// If true, write the rows from bottom to top. + Maybe<AnimationParams> mAnimParams; /// Given for animated images. }; /** diff --git a/image/SurfacePipeFactory.h b/image/SurfacePipeFactory.h index ff53fec5c..4571f2e13 100644 --- a/image/SurfacePipeFactory.h +++ b/image/SurfacePipeFactory.h @@ -70,8 +70,6 @@ public: * * @param aDecoder The decoder whose current frame the SurfacePipe will write * to. - * @param aFrameNum Which frame the SurfacePipe will write to. This will be 0 - * for non-animated images. * @param aInputSize The original size of the image. * @param aOutputSize The size the SurfacePipe should output. Must be the same * as @aInputSize or smaller. If smaller, the image will be @@ -79,6 +77,7 @@ public: * @param aFrameRect The portion of the image that actually contains data. * @param aFormat The surface format of the image; generally B8G8R8A8 or * B8G8R8X8. + * @param aAnimParams Extra parameters used by animated images. * @param aFlags Flags enabling or disabling various functionality for the * SurfacePipe; see the SurfacePipeFlags documentation for more * information. @@ -89,11 +88,11 @@ public: */ static Maybe<SurfacePipe> CreateSurfacePipe(Decoder* aDecoder, - uint32_t aFrameNum, const nsIntSize& aInputSize, const nsIntSize& aOutputSize, const nsIntRect& aFrameRect, gfx::SurfaceFormat aFormat, + const Maybe<AnimationParams>& aAnimParams, SurfacePipeFlags aFlags) { const bool deinterlace = bool(aFlags & SurfacePipeFlags::DEINTERLACE); @@ -125,8 +124,8 @@ public: ADAM7InterpolatingConfig interpolatingConfig; RemoveFrameRectConfig removeFrameRectConfig { aFrameRect }; DownscalingConfig downscalingConfig { aInputSize, aFormat }; - SurfaceConfig surfaceConfig { aDecoder, aFrameNum, aOutputSize, - aFormat, flipVertically }; + SurfaceConfig surfaceConfig { aDecoder, aOutputSize, aFormat, + flipVertically, aAnimParams }; Maybe<SurfacePipe> pipe; @@ -181,13 +180,12 @@ public: * * @param aDecoder The decoder whose current frame the SurfacePipe will write * to. - * @param aFrameNum Which frame the SurfacePipe will write to. This will be 0 - * for non-animated images. * @param aInputSize The original size of the image. * @param aFrameRect The portion of the image that actually contains data. * @param aFormat The surface format of the image; generally B8G8R8A8 or * B8G8R8X8. * @param aPaletteDepth The palette depth of the image. + * @param aAnimParams Extra parameters used by animated images. * @param aFlags Flags enabling or disabling various functionality for the * SurfacePipe; see the SurfacePipeFlags documentation for more * information. @@ -198,11 +196,11 @@ public: */ static Maybe<SurfacePipe> CreatePalettedSurfacePipe(Decoder* aDecoder, - uint32_t aFrameNum, const nsIntSize& aInputSize, const nsIntRect& aFrameRect, gfx::SurfaceFormat aFormat, uint8_t aPaletteDepth, + const Maybe<AnimationParams>& aAnimParams, SurfacePipeFlags aFlags) { const bool deinterlace = bool(aFlags & SurfacePipeFlags::DEINTERLACE); @@ -211,9 +209,9 @@ public: // Construct configurations for the SurfaceFilters. DeinterlacingConfig<uint8_t> deinterlacingConfig { progressiveDisplay }; - PalettedSurfaceConfig palettedSurfaceConfig { aDecoder, aFrameNum, aInputSize, - aFrameRect, aFormat, aPaletteDepth, - flipVertically }; + PalettedSurfaceConfig palettedSurfaceConfig { aDecoder, aInputSize, aFrameRect, + aFormat, aPaletteDepth, + flipVertically, aAnimParams }; Maybe<SurfacePipe> pipe; @@ -229,7 +227,7 @@ public: private: template <typename... Configs> static Maybe<SurfacePipe> - MakePipe(Configs... aConfigs) + MakePipe(const Configs&... aConfigs) { auto pipe = MakeUnique<typename detail::FilterPipeline<Configs...>::Type>(); nsresult rv = pipe->Configure(aConfigs...); diff --git a/image/test/gtest/Common.h b/image/test/gtest/Common.h index 79bed9fc1..0c288cddc 100644 --- a/image/test/gtest/Common.h +++ b/image/test/gtest/Common.h @@ -245,7 +245,7 @@ already_AddRefed<Decoder> CreateTrivialDecoder(); * @param aConfigs The configuration for the pipeline. */ template <typename Func, typename... Configs> -void WithFilterPipeline(Decoder* aDecoder, Func aFunc, Configs... aConfigs) +void WithFilterPipeline(Decoder* aDecoder, Func aFunc, const Configs&... aConfigs) { auto pipe = MakeUnique<typename detail::FilterPipeline<Configs...>::Type>(); nsresult rv = pipe->Configure(aConfigs...); @@ -268,7 +268,7 @@ void WithFilterPipeline(Decoder* aDecoder, Func aFunc, Configs... aConfigs) * @param aConfigs The configuration for the pipeline. */ template <typename... Configs> -void AssertConfiguringPipelineFails(Decoder* aDecoder, Configs... aConfigs) +void AssertConfiguringPipelineFails(Decoder* aDecoder, const Configs&... aConfigs) { auto pipe = MakeUnique<typename detail::FilterPipeline<Configs...>::Type>(); nsresult rv = pipe->Configure(aConfigs...); diff --git a/image/test/gtest/TestADAM7InterpolatingFilter.cpp b/image/test/gtest/TestADAM7InterpolatingFilter.cpp index d9dab4346..d11224251 100644 --- a/image/test/gtest/TestADAM7InterpolatingFilter.cpp +++ b/image/test/gtest/TestADAM7InterpolatingFilter.cpp @@ -33,7 +33,7 @@ WithADAM7InterpolatingFilter(const IntSize& aSize, Func aFunc) WithFilterPipeline(decoder, Forward<Func>(aFunc), ADAM7InterpolatingConfig { }, - SurfaceConfig { decoder, 0, aSize, + SurfaceConfig { decoder, aSize, SurfaceFormat::B8G8R8A8, false }); } @@ -45,7 +45,7 @@ AssertConfiguringADAM7InterpolatingFilterFails(const IntSize& aSize) AssertConfiguringPipelineFails(decoder, ADAM7InterpolatingConfig { }, - SurfaceConfig { decoder, 0, aSize, + SurfaceConfig { decoder, aSize, SurfaceFormat::B8G8R8A8, false }); } @@ -664,7 +664,7 @@ TEST(ImageADAM7InterpolatingFilter, ConfiguringPalettedADAM7InterpolatingFilterF // should fail. AssertConfiguringPipelineFails(decoder, ADAM7InterpolatingConfig { }, - PalettedSurfaceConfig { decoder, 0, IntSize(100, 100), + PalettedSurfaceConfig { decoder, IntSize(100, 100), IntRect(0, 0, 50, 50), SurfaceFormat::B8G8R8A8, 8, false }); diff --git a/image/test/gtest/TestDeinterlacingFilter.cpp b/image/test/gtest/TestDeinterlacingFilter.cpp index 30cad7993..82637bbf7 100644 --- a/image/test/gtest/TestDeinterlacingFilter.cpp +++ b/image/test/gtest/TestDeinterlacingFilter.cpp @@ -28,7 +28,7 @@ WithDeinterlacingFilter(const IntSize& aSize, WithFilterPipeline(decoder, Forward<Func>(aFunc), DeinterlacingConfig<uint32_t> { aProgressiveDisplay }, - SurfaceConfig { decoder, 0, aSize, + SurfaceConfig { decoder, aSize, SurfaceFormat::B8G8R8A8, false }); } @@ -41,7 +41,7 @@ WithPalettedDeinterlacingFilter(const IntSize& aSize, WithFilterPipeline(decoder, Forward<Func>(aFunc), DeinterlacingConfig<uint8_t> { /* mProgressiveDisplay = */ true }, - PalettedSurfaceConfig { decoder, 0, aSize, + PalettedSurfaceConfig { decoder, aSize, IntRect(0, 0, 100, 100), SurfaceFormat::B8G8R8A8, 8, false }); @@ -55,7 +55,7 @@ AssertConfiguringDeinterlacingFilterFails(const IntSize& aSize) AssertConfiguringPipelineFails(decoder, DeinterlacingConfig<uint32_t> { /* mProgressiveDisplay = */ true}, - SurfaceConfig { decoder, 0, aSize, + SurfaceConfig { decoder, aSize, SurfaceFormat::B8G8R8A8, false }); } diff --git a/image/test/gtest/TestDownscalingFilter.cpp b/image/test/gtest/TestDownscalingFilter.cpp index 596becab0..d7aa0ead2 100644 --- a/image/test/gtest/TestDownscalingFilter.cpp +++ b/image/test/gtest/TestDownscalingFilter.cpp @@ -29,7 +29,7 @@ WithDownscalingFilter(const IntSize& aInputSize, WithFilterPipeline(decoder, Forward<Func>(aFunc), DownscalingConfig { aInputSize, SurfaceFormat::B8G8R8A8 }, - SurfaceConfig { decoder, 0, aOutputSize, + SurfaceConfig { decoder, aOutputSize, SurfaceFormat::B8G8R8A8, false }); } @@ -43,7 +43,7 @@ AssertConfiguringDownscalingFilterFails(const IntSize& aInputSize, AssertConfiguringPipelineFails(decoder, DownscalingConfig { aInputSize, SurfaceFormat::B8G8R8A8 }, - SurfaceConfig { decoder, 0, aOutputSize, + SurfaceConfig { decoder, aOutputSize, SurfaceFormat::B8G8R8A8, false }); } @@ -224,7 +224,7 @@ TEST(ImageDownscalingFilter, ConfiguringPalettedDownscaleFails) AssertConfiguringPipelineFails(decoder, DownscalingConfig { IntSize(100, 100), SurfaceFormat::B8G8R8A8 }, - PalettedSurfaceConfig { decoder, 0, IntSize(20, 20), + PalettedSurfaceConfig { decoder, IntSize(20, 20), IntRect(0, 0, 20, 20), SurfaceFormat::B8G8R8A8, 8, false }); diff --git a/image/test/gtest/TestDownscalingFilterNoSkia.cpp b/image/test/gtest/TestDownscalingFilterNoSkia.cpp index c62ca018d..80928a880 100644 --- a/image/test/gtest/TestDownscalingFilterNoSkia.cpp +++ b/image/test/gtest/TestDownscalingFilterNoSkia.cpp @@ -52,6 +52,6 @@ TEST(ImageDownscalingFilter, NoSkia) AssertConfiguringPipelineFails(decoder, DownscalingConfig { IntSize(100, 100), SurfaceFormat::B8G8R8A8 }, - SurfaceConfig { decoder, 0, IntSize(50, 50), + SurfaceConfig { decoder, IntSize(50, 50), SurfaceFormat::B8G8R8A8, false }); } diff --git a/image/test/gtest/TestRemoveFrameRectFilter.cpp b/image/test/gtest/TestRemoveFrameRectFilter.cpp index e1def590e..ad1f944fc 100644 --- a/image/test/gtest/TestRemoveFrameRectFilter.cpp +++ b/image/test/gtest/TestRemoveFrameRectFilter.cpp @@ -28,7 +28,7 @@ WithRemoveFrameRectFilter(const IntSize& aSize, WithFilterPipeline(decoder, Forward<Func>(aFunc), RemoveFrameRectConfig { aFrameRect }, - SurfaceConfig { decoder, 0, aSize, + SurfaceConfig { decoder, aSize, SurfaceFormat::B8G8R8A8, false }); } @@ -41,7 +41,7 @@ AssertConfiguringRemoveFrameRectFilterFails(const IntSize& aSize, AssertConfiguringPipelineFails(decoder, RemoveFrameRectConfig { aFrameRect }, - SurfaceConfig { decoder, 0, aSize, + SurfaceConfig { decoder, aSize, SurfaceFormat::B8G8R8A8, false }); } @@ -320,7 +320,7 @@ TEST(ImageRemoveFrameRectFilter, ConfiguringPalettedRemoveFrameRectFails) // should fail. AssertConfiguringPipelineFails(decoder, RemoveFrameRectConfig { IntRect(0, 0, 50, 50) }, - PalettedSurfaceConfig { decoder, 0, IntSize(100, 100), + PalettedSurfaceConfig { decoder, IntSize(100, 100), IntRect(0, 0, 50, 50), SurfaceFormat::B8G8R8A8, 8, false }); diff --git a/image/test/gtest/TestSurfacePipeIntegration.cpp b/image/test/gtest/TestSurfacePipeIntegration.cpp index 5e8c19fc2..27138a3ee 100644 --- a/image/test/gtest/TestSurfacePipeIntegration.cpp +++ b/image/test/gtest/TestSurfacePipeIntegration.cpp @@ -149,7 +149,7 @@ TEST_F(ImageSurfacePipeIntegration, SurfacePipe) auto sink = MakeUnique<SurfaceSink>(); nsresult rv = - sink->Configure(SurfaceConfig { decoder, 0, IntSize(100, 100), + sink->Configure(SurfaceConfig { decoder, IntSize(100, 100), SurfaceFormat::B8G8R8A8, false }); ASSERT_TRUE(NS_SUCCEEDED(rv)); @@ -227,7 +227,7 @@ TEST_F(ImageSurfacePipeIntegration, PalettedSurfacePipe) auto sink = MakeUnique<PalettedSurfaceSink>(); nsresult rv = - sink->Configure(PalettedSurfaceConfig { decoder, 0, IntSize(100, 100), + sink->Configure(PalettedSurfaceConfig { decoder, IntSize(100, 100), IntRect(0, 0, 100, 100), SurfaceFormat::B8G8R8A8, 8, false }); @@ -313,7 +313,7 @@ TEST_F(ImageSurfacePipeIntegration, DeinterlaceDownscaleWritePixels) DeinterlacingConfig<uint32_t> { /* mProgressiveDisplay = */ true }, DownscalingConfig { IntSize(100, 100), SurfaceFormat::B8G8R8A8 }, - SurfaceConfig { decoder, 0, IntSize(25, 25), + SurfaceConfig { decoder, IntSize(25, 25), SurfaceFormat::B8G8R8A8, false }); } @@ -369,7 +369,7 @@ TEST_F(ImageSurfacePipeIntegration, RemoveFrameRectBottomRightDownscaleWritePixe RemoveFrameRectConfig { IntRect(50, 50, 100, 100) }, DownscalingConfig { IntSize(100, 100), SurfaceFormat::B8G8R8A8 }, - SurfaceConfig { decoder, 0, IntSize(20, 20), + SurfaceConfig { decoder, IntSize(20, 20), SurfaceFormat::B8G8R8A8, false }); } @@ -403,7 +403,7 @@ TEST_F(ImageSurfacePipeIntegration, RemoveFrameRectTopLeftDownscaleWritePixels) RemoveFrameRectConfig { IntRect(-50, -50, 100, 100) }, DownscalingConfig { IntSize(100, 100), SurfaceFormat::B8G8R8A8 }, - SurfaceConfig { decoder, 0, IntSize(20, 20), + SurfaceConfig { decoder, IntSize(20, 20), SurfaceFormat::B8G8R8A8, false }); } @@ -427,7 +427,7 @@ TEST_F(ImageSurfacePipeIntegration, DeinterlaceRemoveFrameRectWritePixels) WithFilterPipeline(decoder, test, DeinterlacingConfig<uint32_t> { /* mProgressiveDisplay = */ true }, RemoveFrameRectConfig { IntRect(50, 50, 100, 100) }, - SurfaceConfig { decoder, 0, IntSize(100, 100), + SurfaceConfig { decoder, IntSize(100, 100), SurfaceFormat::B8G8R8A8, false }); } @@ -450,7 +450,7 @@ TEST_F(ImageSurfacePipeIntegration, DeinterlaceRemoveFrameRectDownscaleWritePixe RemoveFrameRectConfig { IntRect(50, 50, 100, 100) }, DownscalingConfig { IntSize(100, 100), SurfaceFormat::B8G8R8A8 }, - SurfaceConfig { decoder, 0, IntSize(20, 20), + SurfaceConfig { decoder, IntSize(20, 20), SurfaceFormat::B8G8R8A8, false }); } @@ -465,7 +465,7 @@ TEST_F(ImageSurfacePipeIntegration, ConfiguringPalettedRemoveFrameRectDownscaleF RemoveFrameRectConfig { IntRect(0, 0, 50, 50) }, DownscalingConfig { IntSize(100, 100), SurfaceFormat::B8G8R8A8 }, - PalettedSurfaceConfig { decoder, 0, IntSize(100, 100), + PalettedSurfaceConfig { decoder, IntSize(100, 100), IntRect(0, 0, 50, 50), SurfaceFormat::B8G8R8A8, 8, false }); @@ -482,7 +482,7 @@ TEST_F(ImageSurfacePipeIntegration, ConfiguringPalettedDeinterlaceDownscaleFails DeinterlacingConfig<uint8_t> { /* mProgressiveDisplay = */ true}, DownscalingConfig { IntSize(100, 100), SurfaceFormat::B8G8R8A8 }, - PalettedSurfaceConfig { decoder, 0, IntSize(100, 100), + PalettedSurfaceConfig { decoder, IntSize(100, 100), IntRect(0, 0, 20, 20), SurfaceFormat::B8G8R8A8, 8, false }); @@ -503,6 +503,6 @@ TEST_F(ImageSurfacePipeIntegration, ConfiguringHugeDeinterlacingBufferFails) DeinterlacingConfig<uint32_t> { /* mProgressiveDisplay = */ true}, DownscalingConfig { IntSize(60000, 60000), SurfaceFormat::B8G8R8A8 }, - SurfaceConfig { decoder, 0, IntSize(600, 600), + SurfaceConfig { decoder, IntSize(600, 600), SurfaceFormat::B8G8R8A8, false }); } diff --git a/image/test/gtest/TestSurfaceSink.cpp b/image/test/gtest/TestSurfaceSink.cpp index ccf9be3ec..3a1c74d12 100644 --- a/image/test/gtest/TestSurfaceSink.cpp +++ b/image/test/gtest/TestSurfaceSink.cpp @@ -32,7 +32,7 @@ WithSurfaceSink(Func aFunc) const bool flipVertically = Orientation == Orient::FLIP_VERTICALLY; WithFilterPipeline(decoder, Forward<Func>(aFunc), - SurfaceConfig { decoder, 0, IntSize(100, 100), + SurfaceConfig { decoder, IntSize(100, 100), SurfaceFormat::B8G8R8A8, flipVertically }); } @@ -43,7 +43,7 @@ WithPalettedSurfaceSink(const IntRect& aFrameRect, Func aFunc) ASSERT_TRUE(decoder != nullptr); WithFilterPipeline(decoder, Forward<Func>(aFunc), - PalettedSurfaceConfig { decoder, 0, IntSize(100, 100), + PalettedSurfaceConfig { decoder, IntSize(100, 100), aFrameRect, SurfaceFormat::B8G8R8A8, 8, false }); } |