Hi,<br>I am developing a multimedia application for an embedded system based on TI&#39;s DM6446 platform. The decoding of the audio and video frames will be done using the HW decoders. The platform also includes a hardware resizer, that allows resizing of the video frames in hardware, thereby making the resizing operations pretty quick.<br>

<br>I need some advice on the architecture that i should base by application on. Following are the architectures that i have come up with<br><br>1. <br>- audio decoder plugins<br>- video decoder plugins<br>- resizer plugin<br>

- frame buffer output plugin<br>Here i can build a seperate plugin to do the resizing of video frames. This would conform more with gstreamer&#39;s idea that &quot;every element does one thing&quot;, providing better reusability. To reduce to number of memcpy&#39;s, i could equip the frame buffer plugin with pad allocation capabilities and accordingly add pad_alloc calls in the resizer plugin. The only this is, in this case the frames will always be resized, regardless of whether the frame is going to be displayed or dropped. I am not really sure whether this is that big of a problem considering that the number of frames that could be dropped is very less.<br>

<br>2. <br>- audio decoder plugins<br>- video decoder plugins<br>- frame buffer plugin with resizing capabilities using the hw resizer.<br>Here i can build the frame buffer plugin with the built in capability to resize video frames. In this case i could resize the frame only if it is going to be displayed (i.e. just before it would be displayed on screen). Now in this case i loose the reusability advantage, which i can live with if i am able to achieve smooth video playback with av sync. In this case, I am not sure whether the last minute resizing of the frame would introduce a lot of latency while displaying the frame. Given that it is a hardware resizer i am assuming it would be quick. <br>

<br>P.S. I would be employing the pad allocation method in other parts of the pipeline as well, so as to reduce the number of memcpy&#39;s going on in the pipeline.<br><br>Please Advice.<br><br>Regards<br>~Sameer<br><br>