This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Inline scaler (downscale) problem

Hello,

For our project, we are using the inline scaler of the TI81xx capture module for down-scaling.

We use 2 inputs of a capture card and for the same software and commands, we see a different behaviour between these 2 inputs when down-scaling: for the 1st input the video is correctly downscaled but for the 2nd input the image is shifted by an offset. Please see the attached file - the "shift" can be observed on the left of the picture.

Like I mentioned, we only see this for one of the inputs.

The difference between the inputs is that initially the data is captured in different formats.

1) My question is, would there be a limitation on the inline scaler in terms of formats it is capable to scale down?

The following printouts may tell you more about the captured data:

1st input - we see captured and scaled data correctly:

VPSS_CAPTURE: capture_create(2.1): ccparams->videoCaptureMode(0)(0x0), ccparams->videoIfMode(1)(0x1), ccparams->inDataFormat(6)(0x6)

2nd input - we see captured and scaled data incorrectly:

VPSS_CAPTURE: capture_create(2.1): ccparams->videoCaptureMode(6)(0x6), ccparams->videoIfMode(2)(0x2), ccparams->inDataFormat(4103)(0x1007)

2) Also, we later (after capture and scaling down) encode the video and the input to the encoder is NV12 data.

My second question is: what is the correct order of actions done to the data we are encoding?:

a)  capture -> scale down -> convert to NV12 -> encode

or

b) capture -> convert to NV12 -> scale down -> encode

or mayby the scaler does the conversion as well as the scaling?

I am asking because if a) is true then it could "ring a bell" to the possible limitaion of the scaler in terms of formats it can / cannot scale... if there is such limitation(?). Please note that we see correctly captured and encoded 1-to-1 (not scaled) videos from both inputs. Also, I already checked for shifts and buffer addresses when queuing and dequeueing capture buffers and have not found anything suspicious there...

Thank you for your help,

Przemek Gajos