Blender Git Commits

Blender Git commits from all branches.

Page: 464 / 2888

March 23, 2021, 10:26 (GMT)
LineArt: Multithread object iterator problem staging.
March 23, 2021, 08:46 (GMT)
Remove class member variables

March 23, 2021, 08:22 (GMT)
Merge branch 'master' into temp-gpencil-io
March 23, 2021, 07:31 (GMT)
FFmpeg: improve threading settings

Generalize threading settings in proxy building and use them for encoding/decoding in general.
Check codec capabilities, prefer FF_THREAD_FRAME threading over FF_THREAD_SLICE and automatic thread count over setting it explicitly.

ffmpeg-codecs man page suggests that `threads` option is global and used by codecs, that supports this option.
Form some tests I have done, it seems that `av_dict_set_int(&codec_opts, "threads", BLI_system_thread_count(), 0);` has same effect as
```
pCodecCtx->thread_count = BLI_system_thread_count();
pCodecCtx->thread_type = FF_THREAD_FRAME;
```

Looking at `ff_frame_thread_encoder_init()` code, these cases are not equivalent. It is probably safer to leave threading setup on libavcodec than setting up each codec threading individually.

From what I have read so far, frame multithreading should be faster than slice multithreading. Slice multithreading is mainly used for low latency streaming.

When running Blender with `--debug-ffmpeg` it complains about `pCodecCtx->thread_count = BLI_system_thread_count()` that using thread count above 16 is not recommended. Using too many threads can negatively affect image quality, but I am not sure if this is the case for decoding as well - see https://streaminglearningcenter.com/blogs/ffmpeg-command-threads-how-it-affects-quality-and-performance.html This is fine for proxies but may be undesirable for final renders.

Number of threads is limited by image size, because of size of motion vectors, so if it is possible let libavcodec determine optimal thread count.

-----------

Performance difference:
Proxy building: None
Playback speed: 2x better on 1920x1080 sample h264 file
Rendering speed: None on 1920x1080 sample h264 file, there is improvement with codecs that do support FF_THREAD_FRAME for encoding like MPNG
March 23, 2021, 05:28 (GMT)
LineArt: Fix threading data assignment.
March 23, 2021, 02:04 (GMT)
USD Import: UMM bugfix.

Fixed bug retrieving float data received from the
convert_data_to_data() UMM module call.
March 23, 2021, 01:49 (GMT)
LineArt: Fix slight issues for threading object loading (DG still have problems)
March 23, 2021, 01:36 (GMT)
LineArt: Multithread object loading.
March 22, 2021, 23:21 (GMT)
USD Import: UMM prototype.

Initial implementation of invoking the Omniverse Universal
Material Mapper addon to convert OmniPBR.mdl materials to
Blender Principled BSDF shader network. This requires
building with Python in order to invoke the UMM Python
module calls.
March 22, 2021, 22:53 (GMT)
DRW: Move GPUViewport texture pool to DRW module

This makes more sense and cleans-up what the GPUViewport holds.

Also rewrite it to be in C++.
March 22, 2021, 19:16 (GMT)
First round of code cleanup

Revision 33e1ca8 by Antonio Vazquez (temp-gpencil-io)
March 22, 2021, 17:13 (GMT)
GPencil: Remove option to reuse import object

March 22, 2021, 16:41 (GMT)
Merge branch 'master' into temp-lineart-contained
March 22, 2021, 16:17 (GMT)
Merge branch 'master' into temp-gpencil-bezier-stroke-type
March 22, 2021, 15:14 (GMT)
Add a proper attribute standard and TypeDesc for deltas.
March 22, 2021, 15:07 (GMT)
GPencil: No export in SVG and PDF 1 point strokes

Thess strokes produce weird results and usually are errors in the original file. Now the minimum size to export must be 2 points to create a polyline.
March 22, 2021, 14:59 (GMT)
Merge branch 'master' into temp-gpencil-io
March 22, 2021, 14:00 (GMT)
Support delta compression on the CPU.
March 22, 2021, 13:54 (GMT)
Add a setting to stop doing deltas after a certain amount of frames.
March 22, 2021, 13:53 (GMT)
Stop computing deltas if rendering is cancelled.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021