We are facing an issue with TSU module within the MCSDK_Video. The problem is the following - the TSU module seems to missing out on some of the pixels at the far right and the bottom of the picture. The problem seems to be with the polyphase filter since the bicubic filter gives us the correct output.
Please refer the attachment TSU-input-output.zip. The archive has the following files
input-20frames.yuv - is a input (resolution - 1280x720, 4:2:0)
TSUOutBiCubic_720pto720x400-20FrmIn10FrmOut.yuv - is the output from bicubic filter (resolution - 720x400, 4:2:0)
TSUOutPolyPhase_720pto720x400-20FrmIn10FrmOut.yuv - is the output from the polyphase filter (resolution - 720x400, 4:2:0)
As you can see the blue border in the input picture is missing from the output picture when the polyphase filter is used. The same is present when the bicubic filter is used. We can not use the bicubic implementation since it is not optimized. It would be great if TI can help us debug this problem. If not, we are willing to debug the problem at our end. However, to do that, we would need access to the following
1. C source files for the following assembly files under (mcsdk_video_2_2_0_46\dsp\components\ti\mas\tsu\src\polyphase\c64P) scale_horz_h.s, scale_vert_h.s, img_pix_expand.s, img_pix_sat.s. These files were shared with us long ago as part of this ticket (Subject: c6678 H264 HP decoder building h264vdecAlg). We would really appreciate if these can be shared again. Kindly also share any additional file / folder we might require to build the TSU project with these C source files. FYI - We are able to build and run the TSU project with the .s files.
2. TSU API document. I see the below comment in the scale_horiz_h.s file. Unfortunately, I have been unable to find this API document - neither in my MCSDK installation nor on the TI portal.
* The software to produce these tables and the simple coefficents *
* for an arbitarary scale factor and number of taps can be found *
* in the api document