Blender Git Statistics -> Branches -> temp-vse-h264-proxy
"Temp-vse-h264-proxy" branch
Total commits : 12
Total committers : 1
First Commit : March 8, 2021
Latest Commit : March 16, 2021
Commits by Date
Date | Number of Commits | |
---|---|---|
March 16, 2021 | 9 | |
March 15, 2021 | 0 | |
March 14, 2021 | 0 | |
March 13, 2021 | 0 | |
March 12, 2021 | 0 | |
March 11, 2021 | 0 | |
March 10, 2021 | 0 | |
March 9, 2021 | 0 | |
March 8, 2021 | 3 |
Committers
Author | Number of Commits |
---|---|
Richard Antalik | 12 |
Popular Files
Filename | Total Edits |
---|---|
proxy.c | 7 |
SEQ_proxy.h | 6 |
rna_space.c | 6 |
indexer.c | 4 |
space_userpref.py | 3 |
space_sequencer.py | 3 |
sequencer_add.c | 3 |
DNA_space_types.h | 3 |
versioning_userdef.c | 3 |
versioning_290.c | 3 |
Latest commits
March 16, 2021, 14:31 (GMT) |
Merge fix from D10363 |
March 16, 2021, 14:01 (GMT) |
Implement quality setting based on UI slider |
March 16, 2021, 11:26 (GMT) |
Improve proxy building performance There are minimal changes to current code: - Use h264 codec for output - Specify number of threads for encoding to be same as system thread count - Specify same nuber of threads for decoding. This may work only with some codecs(only h264 tested so far), but performance gain in encoding improves overall performance by big margin still. I have tested variety of codecs, and all were transcoded properly. This is much simpler and straightforward patch than previous two, and this was in fact first thing I have tried to do in the beginning, but there was no improvement unless I have removed following lines: ``` rv->c->thread_count = BLI_system_thread_count(); rv->c->thread_type = FF_THREAD_SLICE; ``` I am not even sure how I found that these two lines were problematic. Differential Revision: https://developer.blender.org/D10731 |
March 16, 2021, 11:25 (GMT) |
VSE: Automatic proxy building Add `Proxy Setup` enum to user preferences with 3 choices: Manual, For Added strips and Automatic. With `For Added strips` Only build proxies when adding movie strips. With `Automatic` setting, proxies are built when preview size changes as well. TODO: - Decide what to do when workspace has multiple previews with different preview sizes. See `seq_get_preview_size()` - Solution may be to change current design to allow only one size or just build multiple sizes. Additional possible improvements: - Cancel running job if preview size is changed while building proxies - Use proxy of different size while building proxies for new size. it would be best to do after some refactoring, so in separate patch. ref T85469 Maniphest Tasks: T85469 Differential Revision: https://developer.blender.org/D10363 |
March 16, 2021, 11:22 (GMT) |
VSE: Simplify proxy settings - Remove Full Render size from VSE preview size. Use just 100% instead - Add Use Proxies checkbox to control whether proxies are used globally - Move preview size to top so it is most prominent - Set default to 100% preview size and use proxies (could be separate patch as well) Design task: T85469 {F9735445} No change has been done to individual strip setting as users may need to turn proxies on/off individually. I think it would be best if size selection will be managed when automatic proxy building is enabled. In that case proxy panel can be simplified a lot. This is probalby better to leave for separate patch Reviewed By: sergey Maniphest Tasks: T85469 Differential Revision: https://developer.blender.org/D10362 |
March 16, 2021, 11:21 (GMT) |
Merge branch 'master' into temp-vse-h264-proxy |
March 16, 2021, 11:20 (GMT) |
Revert "[WIP] Use H264 codec for proxies" This reverts commit 6813420d1eced11ed794fe992c205619ce3915d3. |
March 16, 2021, 11:20 (GMT) |
March 16, 2021, 11:20 (GMT) |
March 8, 2021, 12:08 (GMT) |
VSE: Automatic proxy building Add `Proxy Setup` enum to user preferences with 3 choices: Manual, For Added strips and Automatic. With `For Added strips` Only build proxies when adding movie strips. With `Automatic` setting, proxies are built when preview size changes as well. TODO: - Decide what to do when workspace has multiple previews with different preview sizes. See `seq_get_preview_size()` - Solution may be to change current design to allow only one size or just build multiple sizes. Additional possible improvements: - Cancel running job if preview size is changed while building proxies - Use proxy of different size while building proxies for new size. it would be best to do after some refactoring, so in separate patch. ref T85469 Maniphest Tasks: T85469 Differential Revision: https://developer.blender.org/D10363 |
March 8, 2021, 11:47 (GMT) |
VSE: Simplify proxy settings - Remove Full Render size from VSE preview size. Use just 100% instead - Add Use Proxies checkbox to control whether proxies are used globally - Move preview size to top so it is most prominent - Set default to 100% preview size and use proxies (could be separate patch as well) Design task: T85469 {F9735445} No change has been done to individual strip setting as users may need to turn proxies on/off individually. I think it would be best if size selection will be managed when automatic proxy building is enabled. In that case proxy panel can be simplified a lot. This is probalby better to leave for separate patch Maniphest Tasks: T85469 Differential Revision: https://developer.blender.org/D10362 |
March 8, 2021, 10:18 (GMT) |
[WIP] Use H264 codec for proxies Same patch as D10394, but using H264 codec with small GOP size (2 frames in this case). Main reason to use H264 is smaller filesize, current patch produces about 3x smaller files. Playback is also about 1.5x faster than MJPEG Complexity of this patch is much higher though, because encoder must work in own threadpool and encode frames with own gop size. This means that scaled frames from encoder must be allocated per packet, which leads to worse performance overall. Patch is still about 3x faster than original. Interesting thing is that there is no performance improvement when running transcoding in more than 4 threads. Possible ways to improve performance are to reuse memory for packets and frames, which would require redesign, where threads would wait for data to be written. Another possibly much cleaner method would be to decode portions of input into multiple streams and remux these into proxy file. In both cases managing complexity would be fairly important as it can get out of hand quite quickly. Maniphest Tasks: T85469 Differential Revision: https://developer.blender.org/D10630 |
MiikaHweb - Blender Git Statistics v1.06