About video_full_range_flag of H.264 decoder in i.MX6DL.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

About video_full_range_flag of H.264 decoder in i.MX6DL.

Jump to solution
4,774 Views
keitanagashima
Senior Contributor I

Dear Sir or Madam,

Hello.

BSP : Android (jb4.2.2_1.1.0)

There is a header information [SPS(Sequence Parameter Set)] in the H.264 data.

And there is vui_parameters in SPS(Sequence Parameter Set).

Then, there is video_full_range_flag of the element of vui_parameters.

The intended function of "video_full_range_flag" is to tell the decoder that the content is using the full video range (Computer RGB) and the decoder should not expand the range otherwise clipping will occur.

[Q1]

Is the FSL's H.264 decoder changing RGB<->YUV processing by the value of this flag?

[Q2]

If Q1's answer is No, is it possible to process in the YUV change by the value of the flag?

Best Regards,

Keita

Labels (4)
0 Kudos
1 Solution
2,474 Views
eaglezhou
NXP Employee
NXP Employee

Hi, Keita

    vpu only output YUV buffer and it won't do RGB<->YUV conversion.

    anotherway, vpu can report the flag 'video_full_range_flag' through related register (but related api still not be exported by driver currently)

Eagle

View solution in original post

0 Kudos
11 Replies
2,475 Views
eaglezhou
NXP Employee
NXP Employee

Hi, Keita

    vpu only output YUV buffer and it won't do RGB<->YUV conversion.

    anotherway, vpu can report the flag 'video_full_range_flag' through related register (but related api still not be exported by driver currently)

Eagle

0 Kudos
2,474 Views
keitanagashima
Senior Contributor I

Hi Eagle,

Let me clarify my understanding.

------

vpu only output YUV buffer and it it doesn't need to do YUV<->RGB conversion.

Because there is not YUV→RGB conversion processing, there is not a code of YUV<->RGB conversion by video_full_range_flag.

------

Best Regards,

Keita

0 Kudos
2,474 Views
eaglezhou
NXP Employee
NXP Employee

Hi, Keita

    In fact, there are no implement of YUV<->RGB conversion in vpu RTL. e.g. vpu can only output YUV.

    I think the YUV<->RGB conversion should be post-process, not covered by vpu decoder.

    So, whatever the value of flag 'video_full_range_flag', vpu won't do YUV<->RGB conversion.

    Now, what vpu can do is report the flag value for post-process.

    The work flow is like:  video data -> (VPU) -> YUV -> (IPU/GPU/...) -> RGB.

Eagle

0 Kudos
2,474 Views
keitanagashima
Senior Contributor I

Hi Eagle,

My customer understood the VPU isn't processing in the YUV->RGB conversion.

In the YUV -> RGB conversion with IPU/GPU as the Post processing of Decoder, is it changing processing by the value of video_full_range_flag?

Keita

0 Kudos
2,474 Views
eaglezhou
NXP Employee
NXP Employee

Hi, Keita

   As far as I know, GPU only support two CSC mode(601 and 709), while IPU is configurable.

   In such case, I think user need to compute related parameters themselves and configure them to IPU.

   robby (IPU) and XianzhongLi (GPU) can give more details info if necessary.

Eagle

0 Kudos
2,474 Views
keitanagashima
Senior Contributor I

Dear Eagle,

Hello.

My customer tested H.264 clips with video_full_range_flag=0 or video_full_range_flag=1 in jb4.2.2_1.1.0.

If it change the convert processing with the video_full_range_flag, output display's brightness should change between 2 contents.

But, my customer wasn't seen the brightness difference.

So, we consider that video_full_range_flag isn't cared by jb4.2.2_1.1.0.

Keita

0 Kudos
2,474 Views
eaglezhou
NXP Employee
NXP Employee

Hi, Keita

    I think our release (include android) won't process flag 'video_full_range_flag' currently.

    - VPU ignore and doesn't report this flag to render

    - Render(IPU/GPU) don't have related CSC API as well

    - Fortunatelly, IPU seems have interface to allow user configure the CSC parameters (need to double confirm with Robby)

      In this case, user need to compute the parameters themselves.

  

Eagle

0 Kudos
2,474 Views
xiezhiyong
Senior Contributor II

Hi,Eagle

>   - Render(IPU/GPU) don't have related CSC API as well

>   - Fortunatelly, IPU seems have interface to allow user configure the CSC parameters (need to double confirm with Robby)

Could you tell us which CSC GPU / IPU's API or register can set  CSC parameters?

Now we use the default setting.

Thansks

Xie Zhiyong

0 Kudos
2,474 Views
keitanagashima
Senior Contributor I

Hi Eagle,

I apologies for the delay in replying to you.

I have an additional question.


> I think our release (include android) won't process flag 'video_full_range_flag' currently.

Why wasn't convert processing by Flag included?

Which is correct?

1. Originally android isn't supporting this Flag processing.

2. FSL didn't support it when FSL customized android.

3. Other things.

Best Regards,

keita

0 Kudos
2,474 Views
eaglezhou
NXP Employee
NXP Employee

Hi, Keita

   1. I am not sure whether original android support this flag

      customer can check it through try their clip on different android platform.

   2. We never considered this flag when we start to customize our android.

      In fact, this is the first time I hear the flag.

Eagle

0 Kudos
2,474 Views
keitanagashima
Senior Contributor I

Could someone follow up the question?

Keita

0 Kudos