Hi,
we don't use the IPIPE on the fly mode, and the frist resizer is OK, but when want to use the second:
davinci_resizer davinci_resizer.2: mode doesn't allow multiple instances
Does just use the dm365_imp.en_serializer=1 is OK?
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,
we don't use the IPIPE on the fly mode, and the frist resizer is OK, but when want to use the second:
davinci_resizer davinci_resizer.2: mode doesn't allow multiple instances
Does just use the dm365_imp.en_serializer=1 is OK?
Thanks
Hi,
Please provide details of DVSDK, LSP versions that you are using.
Ideally, in both continuous as well as single shot mode, both resizers can be used. I am not sure what are the code changes you have done to switch on the two resizers. With default settings, if you just do the following, resizer 2 would be enabled.
(struct rsz_single_shot_config) . output2 . enable = 1;
Set rest of the parameters in (struct rsz_single_shot_config . output2)
BTW, are you trying to open multiple instances of /dev/davinci_resizer? If yes, that will not work. You can have one instance and can use both resizers from that same driver instance.
Regards,
Anshuman
PS: Please mark this post as verified, if you think it has answered your question. Thanks.
The same issue is being tracked and answered in Linux Forum at http://e2e.ti.com/support/embedded/f/354/p/54397/193109.aspx#193109. So marking the current post as verified.
Regards,
Anshuman
In the DMAI Resize_config,
rsz_ss_config.output1.pix_fmt = pixFormatConversion(BufferGfx_getColorSpace(hDstBuf));
rsz_ss_config.output1.enable = 1;
rsz_ss_config.output1.width = dstDim.width;
rsz_ss_config.output1.height = dstDim.height;
rsz_ss_config.output2.enable = 0;
There can be two output, what's relation of this and RzA RzB?
Thanks
zack said:rsz_ss_config.output2.enable = 0;
The output2 is basically output of RSZB. Output1 is for the output from RSZA.
There are two resizers in DM365 but input source to both of them is same. Please refer to the VPFE Programmer's Guide to have a look at the IPIPE and RSZ block diagram and data flow.
Regards,
Anshuman
PS: Please mark this post as verified, if you think it has answered your question. Thanks.
Thanks,
Yes, I open the resizer two times. This question came from the below:
DEI (D1) -- > resize --> h264enc (D1) --> network
|
-- > resize --> jpegenc (D1) --> network
There have two resizer in the media pipeline, the two resizer share a same resize object(open the davinci_resizer one time) by a lock, Does there have enough performance only by using the
rsz_ss_config.output1.enable = 1 when don't use the output2.enable ?
Zack
zack said:There have two resizer in the media pipeline, the two resizer share a same resize object(open the davinci_resizer one time) by a lock, Does there have enough performance only by using the
rsz_ss_config.output1.enable = 1 when don't use the output2.enable ?
I am not sure what you mean by above statement. But the data flow you have mentioned would work perfectly fine with the rsz_ss_config.output1.enable = 1 and rsz_ss_config.output2.enable = 1.
Regards,
Anshuman
PS: Please mark this post as verified, if you think it has answered your question. Thanks.
Thanks,
Reisze configure
rsz_ss_config.output1.pix_fmt = pixFormatConversion(BufferGfx_getColorSpace(hDstBuf));
rsz_ss_config.output1.enable = 1;
rsz_ss_config.output1.width = dstDim.width;
rsz_ss_config.output1.height = dstDim.height;
rsz_ss_config.output2.enable = 0;
Thread A frist Video Pipeline
while(true)
{
1.Get one Image buffer.
2.Lock(Resize_Lock)
3. Resize_execute
4.Unlock(Resize_Lock)
...
}
Thread B second Video Pipeline
while(true)
{
1.Get one Image buffer.
2.Lock(Resize_Lock)
3. Resize_execute
4.Unlock(Resize_Lock)
...
}
Zack
Your pseudo code should work. Although, i still dont understand why you would want to do two threads and two resize operations separately for the data flow that you mentioned. If you would enable output2 and just call one resize operation, you can save some DDR bandwidth too.
Regards,
Anshuman
Thanks,
Yes, the two thread can work by sharing one resize object. And my concern is thar only one resize can meet two live video perfotmance requirement or not. Just as i metioned, we use deinterlacer, H264, MJPEG. If the two live streame(H264, MJPEG) work simultaneously, the video viewed by VLC is not smooth. but one live (H264 or MJPEG) is OK.
For why use reisze in two thread: If use the gstreamer-ti plugin, this is the most easy way. By the way, if use the output2, the resizer must be a demuxer element.
Zack