Closed Bug 1219210 Opened 4 years ago Closed 4 years ago

[B2G] Support proprietary YUV formats in GrallocImage and GrallocTextureClientOGL

Categories

(Core :: Graphics, defect)

Unspecified
Gonk (Firefox OS)
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla45
Tracking Status
firefox44 --- affected
firefox45 --- fixed

People

(Reporter: jhlin, Assigned: sotaro)

References

Details

Attachments

(2 files, 6 obsolete files)

No description provided.
Follow up bug for bug 1099809 comment 56.
HW codecs usually use proprietary YUV pixel formats in graphic buffers. Support more formats in GrallocImage and GrallocTextureClientOGL seems helpful to video encoding/decoding cases.
Summary: [B2GSupport → [B2G] Support proprietary YUV formats in GrallocImage and GrallocTextureClientOGL
OS: Unspecified → Gonk (Firefox OS)
(In reply to John Lin [:jolin][:jhlin] from comment #1)
> Follow up bug for bug 1099809 comment 56.

It seems like Bug 1199809 comment 56.
Depends on: 1199809
Assignee: nobody → sotaro.ikeda.g
The copy code is borrowed from attachment 8679215 [details] [diff] [review] in Bug 1199809.
attachment 8692837 [details] [diff] [review] tries to keep same buffer size between original buffer and copied buffer.
Attachment #8692836 - Flags: review?(nical.bugzilla)
Attachment #8692837 - Flags: review?(nical.bugzilla)
Attachment #8692837 - Flags: review?(jolin)
Comment on attachment 8692836 [details] [diff] [review]
patch part 1 - Add ITextureClientAllocationHelper

Review of attachment 8692836 [details] [diff] [review]:
-----------------------------------------------------------------

::: gfx/layers/client/TextureClientRecycleAllocator.cpp
@@ +130,4 @@
>    // TextureAllocationFlags is actually used only by ContentClient.
>    // This class does not handle ConteClient's TextureClient allocation.
> +  MOZ_ASSERT(aHelper.mAllocFlags == TextureAllocationFlags::ALLOC_DEFAULT ||
> +             aHelper.mAllocFlags == TextureAllocationFlags::ALLOC_DISALLOW_BUFFERTEXTURECLIENT);

aHelper.mAllocationFlags

@@ +130,5 @@
>    // TextureAllocationFlags is actually used only by ContentClient.
>    // This class does not handle ConteClient's TextureClient allocation.
> +  MOZ_ASSERT(aHelper.mAllocFlags == TextureAllocationFlags::ALLOC_DEFAULT ||
> +             aHelper.mAllocFlags == TextureAllocationFlags::ALLOC_DISALLOW_BUFFERTEXTURECLIENT);
> +  MOZ_ASSERT(aTextureFlags & TextureFlags::RECYCLE);

aHelper.mTextureFlags
Comment on attachment 8692837 [details] [diff] [review]
patch part 2 - Add copy of VENUS color format

Review of attachment 8692837 [details] [diff] [review]:
-----------------------------------------------------------------

Great job. Thanks a lot!
Attachment #8692837 - Flags: review?(jolin) → review-
Attachment #8692837 - Flags: review- → review+
Attachment #8692837 - Flags: review?(nical.bugzilla) → review+
Attachment #8692836 - Flags: review?(nical.bugzilla) → review+
(In reply to John Lin [:jolin][:jhlin] from comment #6)
> Comment on attachment 8692836 [details] [diff] [review]
> patch part 1 - Add ITextureClientAllocationHelper
> 
> Review of attachment 8692836 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> ::: gfx/layers/client/TextureClientRecycleAllocator.cpp
> @@ +130,4 @@
> >    // TextureAllocationFlags is actually used only by ContentClient.
> >    // This class does not handle ConteClient's TextureClient allocation.
> > +  MOZ_ASSERT(aHelper.mAllocFlags == TextureAllocationFlags::ALLOC_DEFAULT ||
> > +             aHelper.mAllocFlags == TextureAllocationFlags::ALLOC_DISALLOW_BUFFERTEXTURECLIENT);
> 
> aHelper.mAllocationFlags
> 
> @@ +130,5 @@
> >    // TextureAllocationFlags is actually used only by ContentClient.
> >    // This class does not handle ConteClient's TextureClient allocation.
> > +  MOZ_ASSERT(aHelper.mAllocFlags == TextureAllocationFlags::ALLOC_DEFAULT ||
> > +             aHelper.mAllocFlags == TextureAllocationFlags::ALLOC_DISALLOW_BUFFERTEXTURECLIENT);
> > +  MOZ_ASSERT(aTextureFlags & TextureFlags::RECYCLE);
> 
> aHelper.mTextureFlags

Thanks! I'll update in a next patch.
Apply the comments. Carry "r=nical".
Attachment #8692836 - Attachment is obsolete: true
Attachment #8695619 - Flags: review+
correct patch.
Attachment #8695619 - Attachment is obsolete: true
Attachment #8695622 - Flags: review+
Rebased. Carry "r=nical".
Attachment #8695622 - Attachment is obsolete: true
Attachment #8695634 - Flags: review+
Address windows problem.
Attachment #8695634 - Attachment is obsolete: true
Rebased.
Attachment #8692837 - Attachment is obsolete: true
Attachment #8695726 - Flags: review+
Attachment #8695735 - Flags: review+
Update nits.
Attachment #8695726 - Attachment is obsolete: true
Attachment #8695737 - Flags: review+
https://hg.mozilla.org/mozilla-central/rev/6212d0b0e634
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla45
You need to log in before you can comment on or make changes to this bug.