summaryrefslogtreecommitdiffstats
path: root/libass/ass_rasterizer.c
Commit message (Collapse)AuthorAgeFilesLines
* Consolidate bounding box operationsDr.Smile2017-09-171-14/+13
|
* Switch to more efficient representation of outlinesDr.Smile2017-09-171-142/+34
|
* Switch to native coordinate system for outlinesDr.Smile2017-09-171-27/+16
|
* Replace FreeType types with libass native typesDr.Smile2017-09-171-13/+9
| | | | | | FT_Vector and FT_BBox types are based on FT_Pos, which is alias of long. FreeType treats it as 32-bit integer, but on some platforms long can be 64-bit. That leads to wasted memory and suboptimal performance.
* cosmetic: fix codestyleDr.Smile2017-07-311-32/+32
|
* rasterizer: implement simultaneous rasterization of two outlinesDr.Smile2017-07-311-100/+182
|
* rasterizer: refactoringDr.Smile2017-07-311-116/+117
|
* cosmetic: extract most of the outline-related functions into separate fileDr.Smile2017-07-311-3/+4
|
* rasterizer: drop outlines with points at too large coordinatesDr.Smile2016-04-231-1/+12
| | | | | | | Such points can overflow internal calculations and usually produced as a result of NaN to integer conversion. Should fix #210.
* Fully fix compilation with MSVC/ICLOleg Oshmyan2015-09-171-0/+1
| | | | | | | | | As before, this does not add any build system support: a config.h file and a project must still be manually created (or the compiler can be run manually instead of using a project). Signed-off-by: Grigori Goronzy <greg@kinoho.net> Signed-off-by: Oleg Oshmyan <chortos@inbox.lv>
* Include config.h in all source files and in no headersOleg Oshmyan2015-09-171-0/+2
| | | | | | | | | This way, #include "config.h" is consistently the very first thing the compiler sees when compiling any file. Some source files currently don't use anything defined in config.h, but it's easier and less error-prone to include it now to anticipate possible future changes in those files, config.h or other headers.
* Switch to virtual function tableDr.Smile2015-06-261-45/+47
| | | | | | | | | | Use one pointer to table of functions instead of scattered bunch of function pointers. Different versions of these tables can be constructed in compile time. Also, bitmap memory alignment now depends only on SSE2/AVX2 support and is constant for every width. That simplifies code without noticeable performance penalty.
* Improve rasterizer commentsDr.Smile2015-06-261-2/+23
|
* Skip memset() when using internal rasterizerDr.Smile2015-02-091-8/+9
|
* Fix rare edge-case bug in rasterizerDr.Smile2015-01-151-1/+4
|
* Replace FT_Outline with ASS_OutlineDr.Smile2014-11-231-2/+2
|
* Flip coordinate system in rasterizerDr.Smile2014-11-231-63/+57
|
* Fix UB at left shifts of negative integersDr.Smile2014-11-071-9/+9
|
* Check for 0-point contours in rasterizer_set_outline()Dr.Smile2014-08-261-0/+3
| | | | Fixes libass#129.
* Implement fast quad-tree rasterizer in C and x86/SSE2/AVX2Dr.Smile2014-04-291-0/+788
Signed-off-by: Rodger Combs <rodger.combs@gmail.com>