Dust Signs
15th October 2011, 09:11
Dear all,
I just finished my Master's thesis on porting x264 to Short-term Memory (http://tiptoe.cs.uni-salzburg.at/short-term-memory/) and thought that it might be interesting for (some of) you. For the sake of completion, here is the abstract:
This thesis describes the process of porting x264, an H.264-compliant state-of-the-art video encoder, to short-term memory, a recent paradigm in memory management, in order to show the ease of use of the latter for heap management in complex applications. Different ways to apply the new paradigm are described and compared to one another and the original implementation. By evaluating each implementation variant’s run time behavior, advantages and disadvantages of short-term memory management over classical memory management are discussed, revealing that the ease of use of those implementation variants which work for all tested parameter combinations comes at the expense of higher peak memory consumption (less than 57% overhead for the default multi-threaded configuration) with a negligible impact on execution time. Furthermore, it is pointed out that a reduction of this overhead is possible through a special implementation variant which only works for some parameter combinations, but reduces the aforementioned overhead to less than 19%. Nonetheless, the adequacy and efficiency of certain x264 implementation variants for single-threaded configurations is shown.
I am very well aware that this will not affect the official x264 code at all, but perhaps it gives some insights into new possibilities to manage the (memory) lifetime of frames in x264. Also, chapter 3 on the inner workings of x264 may be useful for those who are looking for a more detailed explanation of e.g. x264's frame-based multi-threading approach as well as the memory-management-related implementation specifics.
The thesis will be submitted for grading next week - it is currently being printed. As it is required by the University to do the research and implementation by oneself in principle to obtain the Master's degree, I did not make this public earlier, with one little exception (http://forum.doom9.org/archive/index.php/t-157724.html) which I had pre-approved by my advisor, Professor Christoph Kirsch (http://cs.uni-salzburg.at/~ck/). I hope that you find the thesis interesting. Please find the download links for both, the thesis and the code (for the sake of completion), below. Note that the first title page of the thesis is in German due to the submission requirements - the rest of the thesis is in English.
Download links:
Thesis (http://dustsigns.de/cgi-bin/dwnldcnt.cgi?file=Files/FH%20und%20Uni/thesis.pdf)
Code (http://dustsigns.de/cgi-bin/dwnldcnt.cgi?file=Files/FH%20und%20Uni/x264stm.zip) (additional info page (http://dustsigns.de/cgi-bin/index.cgi?submenu=University;content=Projects;lang=en))
Best regards
Dust Signs
This is a cross post of http://doom10.org/index.php?topic=1962.0
I just finished my Master's thesis on porting x264 to Short-term Memory (http://tiptoe.cs.uni-salzburg.at/short-term-memory/) and thought that it might be interesting for (some of) you. For the sake of completion, here is the abstract:
This thesis describes the process of porting x264, an H.264-compliant state-of-the-art video encoder, to short-term memory, a recent paradigm in memory management, in order to show the ease of use of the latter for heap management in complex applications. Different ways to apply the new paradigm are described and compared to one another and the original implementation. By evaluating each implementation variant’s run time behavior, advantages and disadvantages of short-term memory management over classical memory management are discussed, revealing that the ease of use of those implementation variants which work for all tested parameter combinations comes at the expense of higher peak memory consumption (less than 57% overhead for the default multi-threaded configuration) with a negligible impact on execution time. Furthermore, it is pointed out that a reduction of this overhead is possible through a special implementation variant which only works for some parameter combinations, but reduces the aforementioned overhead to less than 19%. Nonetheless, the adequacy and efficiency of certain x264 implementation variants for single-threaded configurations is shown.
I am very well aware that this will not affect the official x264 code at all, but perhaps it gives some insights into new possibilities to manage the (memory) lifetime of frames in x264. Also, chapter 3 on the inner workings of x264 may be useful for those who are looking for a more detailed explanation of e.g. x264's frame-based multi-threading approach as well as the memory-management-related implementation specifics.
The thesis will be submitted for grading next week - it is currently being printed. As it is required by the University to do the research and implementation by oneself in principle to obtain the Master's degree, I did not make this public earlier, with one little exception (http://forum.doom9.org/archive/index.php/t-157724.html) which I had pre-approved by my advisor, Professor Christoph Kirsch (http://cs.uni-salzburg.at/~ck/). I hope that you find the thesis interesting. Please find the download links for both, the thesis and the code (for the sake of completion), below. Note that the first title page of the thesis is in German due to the submission requirements - the rest of the thesis is in English.
Download links:
Thesis (http://dustsigns.de/cgi-bin/dwnldcnt.cgi?file=Files/FH%20und%20Uni/thesis.pdf)
Code (http://dustsigns.de/cgi-bin/dwnldcnt.cgi?file=Files/FH%20und%20Uni/x264stm.zip) (additional info page (http://dustsigns.de/cgi-bin/index.cgi?submenu=University;content=Projects;lang=en))
Best regards
Dust Signs
This is a cross post of http://doom10.org/index.php?topic=1962.0