Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Hamza_U_1
Beginner
122 Views

Quality issue while blending RGBA frames

Hi All,

I'm blending three RGBA images/graphics on RGBA video frame. There is prominent while boundary throughout the "Cadbury" overlay.

The center overlay is same original one, where as the ones on top and bottom have white boundary.

Can you please tell me what could be the issue ?

I'm using E3-1245 v5, with centos-release-7-2.1511.el7 64-bit with latest version of MediaSDK and MediaSamples_Linux_2016

0 Kudos
8 Replies
Hamza_U_1
Beginner
122 Views

I'm facing yet another issue with RGBA on RGBA. When i blend more than 6 overlays entire frame's chroma changes. Please refer the attached screenshot. Blending is fine with 6 surfaces, on adding 7th one color changes !

What is the max limit on number of surfaces that can be used ?

Anna_B_Intel
Employee
122 Views

Hi Hamza,

For the first problem - please try to use system memory (you should add "-lib hw -vaapi" to command line options when you run sample_vpp). 

The second issue seems strange. The maximum limit is 64 surfaces on Linux and 8 surfaces on Windows. Please attach streams and .par file for further investigation.

Best wishes, Anna

Hamza_U_1
Beginner
122 Views

Hi Anna,

Issue - 1

I was this attached code for blending.

On using sample_vpp with "-lib hw -vaapi" white boundaries are present. Apart from that the all overlays,except last one, are scaled down.

Issue-2

Attachment has the following,

1. Par file

2. bottom stream - HD_1frame.rgb

3. top stream (all overlays are same) - cadbury_rgba.rgb

4. output stream - out.yuv

Can you please look into these issues?

Anna_B_Intel
Employee
122 Views

Thank you for attachments

Issue - 1

Now we are investigating this problem. I'll come back with an answer a bit later.

Issue - 2

According to the Reference Manual (mediasdk-man.pdf p.113) VPP composition only supports the following combinations of input and output color formats:

  • RGB to RGB,
  • NV12 to NV12,
  • RGB and NV12 to NV12, for per pixel alpha blending use case. 

The last point means that MSS supports blending rgb+nv12 to nv12, not rgb+rgb to nv12. If you change output file format to rgb4, the result will be correct.

Best wishes, Anna

Hamza_U_1
Beginner
122 Views

Hi Anna,

Issue-2 got resolved on using RGB4+RGB4 to RGB4.

However mediasdk-man.pdf - page-5 mentions

"Video processing (VPP) takes raw frames as input and provides raw frames as output. The actual conversion process is a chain operation with many single-function filters, as Figure 3 illustrates. The application specifies the input and output format, and the SDK configures the pipeline accordingly."

Keeping this in mind and looking at table-2 which supports RGB4 to NV12 conversion shouldn't this work ?

Finally we would like to get NV16 out after blending. Do we need to provide extra configuration parameters to create custom pipeline for this ?

Anna_B_Intel
Employee
122 Views

Hi Hamza,

I glad to know that issue-2 is resolved.

Direct blending rgb4 to nv16 is unsupported by MSS. To get NV16 output you can try to create 3 SDK sessions: the first is for blending rgb4 streams to rgb4, the second is for color conversion rgb4 to nv12, the third is for color conversion nv12 to nv16.

Best wishes, Anna 

Hamza_U_1
Beginner
122 Views

Hi Anna,

Were you able to see Issue-1 of white boundaries across graphics ?

Anna_B_Intel
Employee
122 Views

Hi Hamza, 

We discovered that it's driver problem. I'll keep you in a picture about this issue's status. 

Best wishes, Anna

Reply