This cap is currently used to mark multithreading-capable codecs that wrap external libraries with their own multithreading code. The name is highly confusing for our API users, since libavcodec ALWAYS handles thread_count=0 (see commit message in previous commit). Therefore rename the cap and update its documentation to make its meaning clear. The old name is kept deprecated until next+1 major bump.
Showing the changes to libavcodec/codec.h (1 of 19 files). Show all
Unified · Split
| @@ -115,9 +115,14 @@ · 114 unmodified lines | ||
| 115 | 115 | */ |
| 116 | 116 | #define AV_CODEC_CAP_PARAM_CHANGE (1 << 14) |
| 117 | 117 | /** |
| 118 | − * Codec supports avctx->thread_count == 0 (auto). | |
| 118 | + * Codec supports multithreading through a method other than slice- or | |
| 119 | + * frame-level multithreading. Typically this marks wrappers around | |
| 120 | + * multithreading-capable external libraries. | |
| 119 | 121 | */ |
| 120 | −#define AV_CODEC_CAP_AUTO_THREADS (1 << 15) | |
| 122 | +#define AV_CODEC_CAP_OTHER_THREADS (1 << 15) | |
| 123 | +#if FF_API_AUTO_THREADS | |
| 124 | +#define AV_CODEC_CAP_AUTO_THREADS AV_CODEC_CAP_OTHER_THREADS | |
| 125 | +#endif | |
| 121 | 126 | /** |
| 122 | 127 | * Audio encoder supports receiving a different number of samples in each call. |
| 123 | 128 | */ |