Hi,
How can I resize interlace YUV data in DM365 IPNC?
The attachment is my test data, IMG_0100_1440x576.yuv is input data, output0.yuv is output data.
Input data is YUV422 720*576, and output data is YUV420 736*576.
Thanks.
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.
Hi,
How can I resize interlace YUV data in DM365 IPNC?
The attachment is my test data, IMG_0100_1440x576.yuv is input data, output0.yuv is output data.
Input data is YUV422 720*576, and output data is YUV420 736*576.
Thanks.
Hi,
For Resizing Interaced data, it is recommended for you to store YUV data in DDR first before calling Resizer.
As you can control line offset (or you can use Odd and Even field in ISIF) in ISIF, you can make 1frame from 2field data automatically.
After that you can call Resizer.
regards,
Sang-Yong
Hi,
I can get the YUV data from ISIF now. And I use "moduletest.out drv_resz" to test the resizer.
When I used the YUV422 data to resize to YUV420 data, I got the result as above attachment show.
I used a YUVviewer tool to open the resized yuv420 data, then the image looked very bad.
If I use YUV422 as the output format in resizer, I can get the right output data.
Thanks,
Yanbin Yue
hi Yanbin,
In the files that you attached, is IMG_0100_1440x576.yuv the YUV422 input data ?
When I try to view it I dont see proper image ?
Can you send the output YUV422 image also that you say looks proper ?
Also can you send the modified drv_resz test code wherein you select YUV420 as output data format
av_capture\framework\drv\usermod\src\drv_resz.c - DRV_reszTestMain()
regards
Kedar
Hi Kedar,
The IMG_0100_1440x576.yuv is intlaced YUV422 data, its even line has no effective data. It should be a odd/even field frame captured from isif, when I set
sdrOutConfig.sdramOffsetConfig.fidOffsetOdd = CSL_CCDC_SDR_OFFSET_PLUS_2LINE;
sdrOutConfig.sdramOffsetConfig.lineOffsetEvenEven = CSL_CCDC_SDR_OFFSET_PLUS_2LINE;
sdrOutConfig.sdramOffsetConfig.lineOffsetOddEven = CSL_CCDC_SDR_OFFSET_PLUS_2LINE;
sdrOutConfig.sdramOffsetConfig.lineOffsetEvenOdd = CSL_CCDC_SDR_OFFSET_PLUS_2LINE;
sdrOutConfig.sdramOffsetConfig.lineOffsetOddOdd = CSL_CCDC_SDR_OFFSET_PLUS_2LINE;
in isif.c.
You will see the proper image use the IMG_0100_1440x288.yuv in this attchment, and the drv_resz.c is in the attchment too.
If I use IMG_0100_1440x576.yuv as input data, and set
...
prm.inType = DRV_DATA_FORMAT_YUV422;
...
prm.inWidth = 720;
prm.inHeight = 288;
prm.inOffsetH= 720;
...
outPrm[0].outType = DRV_DATA_FORMAT_YUV422;
...
outPrm[0].outWidth = 720;
outPrm[0].outHeight = 288;
in drv_resz.c, I can get the proper output data.
My purpose is that I can get the proper yuv420 image from IMG_0100_1440x288.yuv or IMG_0100_1440x576.yuv for encoding it with h264.
Thanks
Yanbin Yue