Community
cancel
Showing results for 
Search instead for 
Did you mean: 
zhou_i_
Beginner
149 Views

Does VPP support blending RGBA on NV12?

Hi,

      I want to do osd(on ) by vpp ,that is blending a RGBA picture on another picture,but only pixels that alpha channel value is not zero will display on screen,and I've found that PixelAlphaEnable will make this ok! But the problem is

       blending a RGBA to a RGBA is right

      blending a RGBA to YUV is wrong.

       So does vpp support blending RGBA to NV12 when in PixelAlphaEnable  mode?

 

 

 

stream=./out_1920x1080.nv12
width=1920
height=1080
cropx=0
cropy=0
cropw=1920
croph=1080
dstx=0
dsty=0
dstw=1920
dsth=1080
fourcc=nv12

stream=./osd_alpha.rgb4
width=1024
height=576
cropx=0
cropy=0
cropw=1024
croph=576
dstx=0
dsty=0
dstw=1024
dsth=576
fourcc=rgb4
PixelAlphaEnable=1

     

0 Kudos
8 Replies
Anna_B_Intel
Employee
149 Views

Hi Zhou,

Yes, VPP supports blending RGBA to NV12 only in case of per pixel alpha blending. Each RGB input surface can be blended with underling surfaces by using PixelAlphaEnable value.

Best wishes,

Anna

zhou_i_
Beginner
149 Views

But the problem is when using PixelAlphaEnable value,only blend RGBA to RGBA is right,blend RGBA to YUV is abnormal.

Anna_B_Intel
Employee
149 Views

I checked the problem by myself - the result of blending RGBA to YUV is incorrect. Thank you for reporting the bug. I notified dev team about it. 

Hamza_U_1
Beginner
149 Views

Hi Anna,

I have similar use case and i'm also facing this issue.

We are using E3-1245 v5, with centos-release-7-2.1511.el7 64-bit, with latest MediaSDK and MediaSamples_Linux_2016.

Blending RGBA on RGBA is fine. RGBA on NV12 gives bad output. Do you have a fix for this issue ?

Anna_B_Intel
Employee
149 Views

Hi Hamza,

Could you please provide me the following to reproduce the problem:

1. Bottom stream.

2. Top stream.

3. Parameters file (.par) that you use.

Best wishes,

Anna

Hamza_U_1
Beginner
149 Views

Hi Anna,

On using add "-vaapi" to command line options of sample_vpp blending of RGBA file worked. On adding second file to par.txt, blending of one RGBA is bad. I've attached the following:

a. Par file - par.txt
b. Bottom stream - HD_1frame.yuv (NV12)
c. Top stream      - cadbury_rgba.rgb
d. Output stream - out.yuv (NV12)
e. Command - sudo -E ./_bin/sample_vpp -lib hw -vaapi -composite par.txt -o out.yuv

Anna_B_Intel
Employee
149 Views

Hamza,

Thank you for providing attachments! It isn't a MSS bug. It's samples' constraint. Sample_vpp doesn't support blending more than two surfaces (rgb to nv12). But you can implement this feature in your own code with MSS. How critical for you to see blending multiple rgb streams to nv12 in our code samples?

Best wishes, Anna 

Hamza_U_1
Beginner
149 Views

Thanks Anna,

I'll try implementing this in our code.

I was able to make some changes in sample_vpp and blend multiple surfaces with nv12+rgb4.

Reply