15 Aug 02:46
GSoC - Theora multithread decoder
From: Leonardo de Paula Rosa Piga <lpiga <at> terra.com.br>
Subject: GSoC - Theora multithread decoder
Newsgroups: gmane.comp.multimedia.ogg.theora.devel
Date: 2008-08-15 00:49:55 GMT
Subject: GSoC - Theora multithread decoder
Newsgroups: gmane.comp.multimedia.ogg.theora.devel
Date: 2008-08-15 00:49:55 GMT
Hi, This email is to inform what I have been doing since the mid-term. After the mid-term I worked on a pipeline implementation with OpenMP. As I said before I did a pipelined implementation of these functions: (c_dec_dc_unpredict_mcu_plane + oc_dec_frags_recon_mcu_plane) and (oc_state_loop_filter_frag_rows + oc_state_borders_fill_rows) as explained in my previous email. But the results were not good. They were equal the implementation without pipeline. http://lampiao.lsc.ic.unicamp.br/~piga/gsoc_2008/comparison.png http://lampiao.lsc.ic.unicamp.br/~piga/gsoc_2008/speedup.png http://lampiao.lsc.ic.unicamp.br/~piga/gsoc_2008/systime.png Next I tried to do some improvements, but without success. I think that the implementation as it is, could not be improved more with parallelism. Another approach could be tried to decode the next frame, as the current frame is decoding, but this is very chanlenging, because most of the frames has data dependency of the frame before it. The gain adding parallelism is 13% with OpenMP. Not so bad. My project is with few code, I tried to do my best. When I proposed this project I knew that it would be very difficult. It was challenging and I have learned a lot, specially about the OpenMP library. Also, I will understand if you don't approve me. The project was very difficult, more than I expected. I wanted to obtain better results but I couldn't. I have tried a lot. -- -- Leonardo de Paula Rosa Piga http://lampiao.lsc.ic.unicamp.br/~piga
RSS Feed