{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":308136937,"defaultBranch":"master","name":"libass","ownerLogin":"arthenica","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2020-10-28T20:46:31.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/113347484?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1722804052.0","currentOid":""},"activityList":{"items":[{"before":"b13f5d107237abb15487dc031f83c11e369a4be9","after":"11ec3141c9a4cd3f2b6ac1ca7dd24cdee5892648","ref":"refs/heads/master","pushedAt":"2024-08-04T21:38:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tanersener","name":"Taner Sener","path":"/tanersener","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10158439?s=80&v=4"},"commit":{"message":"build: add -fno-math-errno for clang-cl","shortMessageHtmlLink":"build: add -fno-math-errno for clang-cl"}},{"before":"6f3aad16f0559c093c69db993dbfd2c271797bb9","after":"b13f5d107237abb15487dc031f83c11e369a4be9","ref":"refs/heads/master","pushedAt":"2024-08-04T20:40:51.000Z","pushType":"push","commitsCount":41,"pusher":{"login":"tanersener","name":"Taner Sener","path":"/tanersener","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10158439?s=80&v=4"},"commit":{"message":"utils: implement our own lrint() for Visual C++\n\nCommit cd35a4dd added the -fno-math-errno flag which allows lrint() to\nbe inlined on GCC and Clang.\n\nUnfortunately, Visual C++ can't inline lrint() without -fp:fast. That\nflag has some nasty implications, so I think it's better to just write\nour own lrint.\n\nThis change helps a bit with the video sample from #736. It halves the\nnumber of dropped frames in MPC-HC on my machine (from ~180 to ~80).\n\nResolves: https://github.com/libass/libass/pull/806","shortMessageHtmlLink":"utils: implement our own lrint() for Visual C++"}},{"before":"c8f6ccd9983f23ffa2af694aadcb9cd297a6aa8a","after":"6f3aad16f0559c093c69db993dbfd2c271797bb9","ref":"refs/heads/master","pushedAt":"2024-05-22T21:41:59.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"tanersener","name":"Taner Sener","path":"/tanersener","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10158439?s=80&v=4"},"commit":{"message":"readme: update VSFilterMod status\n\nSince active'ish forks focus on internal use, they might not appreciate\ngetting potential external users prominently redirected their way, so\ndo not link them atm. Should they expand scope we can add links later.","shortMessageHtmlLink":"readme: update VSFilterMod status"}},{"before":"1dfb934affee2a4152619bb671a8c82ec5ccad43","after":"c8f6ccd9983f23ffa2af694aadcb9cd297a6aa8a","ref":"refs/heads/master","pushedAt":"2024-05-07T23:25:27.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"tanersener","name":"Taner Sener","path":"/tanersener","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10158439?s=80&v=4"},"commit":{"message":"Drop unused TOKEN_CLOSE\n\nAnd remove default case, we handle everything explicitly\nand want compiler warnings should this ever change.","shortMessageHtmlLink":"Drop unused TOKEN_CLOSE"}},{"before":"db83d6770ba11cb9ef72f4a9de7a0e2b1dd7baa3","after":"1dfb934affee2a4152619bb671a8c82ec5ccad43","ref":"refs/heads/master","pushedAt":"2024-04-30T15:53:25.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"tanersener","name":"Taner Sener","path":"/tanersener","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10158439?s=80&v=4"},"commit":{"message":"ass_shaper: create hb_font_t eagerly during add_face","shortMessageHtmlLink":"ass_shaper: create hb_font_t eagerly during add_face"}},{"before":"ffe070bbfbc77e3ab731aac5ec24fa63aeb461af","after":"db83d6770ba11cb9ef72f4a9de7a0e2b1dd7baa3","ref":"refs/heads/master","pushedAt":"2024-04-22T20:47:10.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"tanersener","name":"Taner Sener","path":"/tanersener","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10158439?s=80&v=4"},"commit":{"message":"Merge 'x86: update x86inc.asm'\n\nUpdated to https://code.videolan.org/videolan/x86inc.asm/-/commit/04f14f431ce07ca349b5d87c9e5930f5950cf712\n\nThis allows x86’s hardware shadowstack SHSTK to work on ELF platforms.\n\nReviewed-on: https://github.com/libass/libass/pull/743\n\nFixes: https://github.com/libass/libass/issues/742","shortMessageHtmlLink":"Merge 'x86: update x86inc.asm'"}},{"before":"6eaa67daabdba10248fd13692403691effec0d8e","after":"ffe070bbfbc77e3ab731aac5ec24fa63aeb461af","ref":"refs/heads/master","pushedAt":"2024-04-22T20:09:37.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"tanersener","name":"Taner Sener","path":"/tanersener","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10158439?s=80&v=4"},"commit":{"message":"ci/gha: use system deps in one Windows meson build\n\nAnd install meson from system except for Chocolatey\nwhich doesn’t like installing meson without a reboot.\n\nSplit out Chocolatey is necessary, because using bash as a shell\nfor some reason also changes the used linker leading to config-time\nfailures for MSVC.","shortMessageHtmlLink":"ci/gha: use system deps in one Windows meson build"}},{"before":"6b895b478d83acc2ffa261c38d3b491b32d46a0b","after":"6eaa67daabdba10248fd13692403691effec0d8e","ref":"refs/heads/master","pushedAt":"2024-04-11T00:55:29.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"tanersener","name":"Taner Sener","path":"/tanersener","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10158439?s=80&v=4"},"commit":{"message":"Add LayoutResX and LayoutResY to fuzz ass dict","shortMessageHtmlLink":"Add LayoutResX and LayoutResY to fuzz ass dict"}},{"before":"9f4e6afeec54c0d240a9b8377f27e6c5b7c2bde0","after":"6b895b478d83acc2ffa261c38d3b491b32d46a0b","ref":"refs/heads/master","pushedAt":"2024-04-07T22:41:14.000Z","pushType":"push","commitsCount":17,"pusher":{"login":"tanersener","name":"Taner Sener","path":"/tanersener","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10158439?s=80&v=4"},"commit":{"message":"directwrite: query GDI-enumerated fonts by full name, not family name\n\nFixes: https://github.com/libass/libass/issues/744","shortMessageHtmlLink":"directwrite: query GDI-enumerated fonts by full name, not family name"}},{"before":"e64390522d9501a2c7e6a51c31a5b2a1f3a35cd1","after":"9f4e6afeec54c0d240a9b8377f27e6c5b7c2bde0","ref":"refs/heads/master","pushedAt":"2023-11-19T15:31:14.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"tanersener","name":"Taner Sener","path":"/tanersener","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10158439?s=80&v=4"},"commit":{"message":"Drop style if strdup(Name) fails rather than try to rename it","shortMessageHtmlLink":"Drop style if strdup(Name) fails rather than try to rename it"}},{"before":"358770835248e26241e4796f38f02073a3bae252","after":"e64390522d9501a2c7e6a51c31a5b2a1f3a35cd1","ref":"refs/heads/master","pushedAt":"2023-10-29T11:56:18.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"tanersener","name":"Taner Sener","path":"/tanersener","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10158439?s=80&v=4"},"commit":{"message":"Adjust spelling of libass in pc file\n\nAll lower case has been the preferred spelling variant\nfor many years now. This is the only place where current\nversions of libass are still referred to as “LibASS”.","shortMessageHtmlLink":"Adjust spelling of libass in pc file"}},{"before":"5c15c883a4783641f7e71a6a1f440209965eb64f","after":"358770835248e26241e4796f38f02073a3bae252","ref":"refs/heads/master","pushedAt":"2023-10-08T20:32:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"tanersener","name":"Taner Sener","path":"/tanersener","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10158439?s=80&v=4"},"commit":{"message":"render: avoid overflow on BorderStyle=4 img allocation\n\nThe buffer was allocated and memset using the unchecked result of\nmultiplying the width and height of the image. This multiplication can\noverflow in two ways, both of which ultimately lead to allocating a too\nsmall buffer and later OOB reads when the API user processes the image.\nNothing in libass processes the image buffer after this initial alloc\nand memset.\n\nWidth and height are ints and capped to the extent of the render frame.\nass_aligned_alloc and memeset use size_t for the the size parameters.\n\nFor one, since both operands are sigend integers an overflow in the\nmultiplication is undefined behaviour. In practice on common systems\ntoday, it will wrap around and then through conversion to size_t\neffectively limited to UINT_MAX.\n\nHowever while uncommon, SIZE_MAX may also be smaller than either\nUINT_MAX or INT_MAX. As a result the multiplication itself might not\noverflow, but the conversion to size_t will truncate the result.\n(ISO C99 only requires SIZE_MAX to be >= 65535 with\n no restrictions relative to other types.)\n\nTo avoid both error sources omit the BorderStyle=4 background box\nif the image’s pixel count exceeds the limits of int or size_t.\n\nThe first problem was discovered by CodeQL.","shortMessageHtmlLink":"render: avoid overflow on BorderStyle=4 img allocation"}},{"before":"91422bdb9497e8484b3248f5ae7eb50d41e2555d","after":"5c15c883a4783641f7e71a6a1f440209965eb64f","ref":"refs/heads/master","pushedAt":"2023-08-26T08:04:14.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"tanersener","name":"Taner Sener","path":"/tanersener","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10158439?s=80&v=4"},"commit":{"message":"Support Core Text on Mac OS X 10.5\n\nBased on the logic in HarfBuzz's hb-coretext. See:\n 1. https://github.com/harfbuzz/harfbuzz/pull/952\n 2. https://github.com/harfbuzz/harfbuzz/pull/1180\n\nCore Text was introduced in 10.5, so this is as far back as we can go.\n\nTested on ppc32 10.5.8 in:\nhttps://github.com/libass/libass/issues/595#issuecomment-1324548120\nManrope Regular failed to be selected by full name,\nbut other fonts (including other faces of Manrope) worked fine,\nso this should be good enough to avoid requiring Fontconfig.\n\nI have tested that the code in the 10.5-compatible branch still works\non 10.13.6 (the newest macOS instance I have access to), but the API\ninvolved is officially \"deprecated\" and produces deprecation warnings\nduring compilation unless the build's deployment target is set to a\nversion below 10.8. In addition, it's not unimaginable that it might\nwork worse in some specific situations now or in the future: for example,\nit uses FSRef, which, according to the docs, is \"designed to work\nwith 32-bit inode numbers\", which \"may result in performance issues\"\non newer systems. As far as I'm aware, Apple doesn't tend to remove\nAPIs/ABIs completely except when combined with architecture changes,\nbut it seems the overall safest course of action is:\n * to prefer the newer API if it is available at runtime,\n * and to avoid referencing the older API at all\n if it's known at compile-time to be unnecessary.\n\nTo nearly maximize build-environment compatibility,\nuse Availability.h and CHECK_AVAILABLE:\n\n * Recent versions of Apple's compiler support __builtin_available for\n OS version detection, and so does modern non-Apple Clang. This is what\n Apple recommends nowadays. However, none of Apple's official compilers\n on macOS up to 10.10 have had this builtin, and no third-party\n compilers besides Clang have ever had it. Non-Clang compilers may\n have issues with Apple's more recent SDK headers anyway, but they're\n perfectly viable with older SDK releases and all the more likely\n to be used when the build is being performed on an older machine,\n e. g. when targeting that same machine, which is precisely where\n the 10.5-compatible code is most likely to be relevant.\n On 10.5 or nearby versions, the build is most likely to use one of\n Apple's old compilers or a custom-built modern upstream GCC.\n\n Apple's older method of checking for availability at runtime\n is to check whether the symbol's address is NULL, which works\n in all of Apple's compilers and in upstream Clang and GCC.\n We implement this in our CHECK_AVAILABLE macro.\n\n * There are multiple ways to determine whether the newer symbol\n is declared at all. To keep it simple, avoid a configure check\n and stick to a simple macro check.\n\n In older versions of Apple's SDK, Core Text headers have reacted to\n \"Mac OS X version max allowed\" control-knob macros and marked newer\n APIs \"unavailable\" (making any use of them a compilation error) even\n if they were known to that SDK. However, the exact macros differ\n between SDK versions, and this mechanism (unlike the \"version min\n required\") has apparently never been exposed in compiler/IDE knobs\n and possibly not publicized at all. Newer SDKs also no longer mark\n symbols unavailable in any case.\n\n So do the simplest thing and just check for the existence\n of a macro that was introduced in the same SDK version.\n\n * In 10.5-10.6 SDKs, Core Text used AvailabilityMacros.h and its\n MAC_OS_X_VERSION_MIN_REQUIRED; in later versions, it switched to\n Availability.h and its __MAC_OS_X_VERSION_MIN_REQUIRED with two\n leading underscores. Both headers are available since 10.5, and\n Availability.h is more flexible as it has version iOS macros in\n addition to macOS, which we may need for other APIs in the future,\n so just use Availability.h.","shortMessageHtmlLink":"Support Core Text on Mac OS X 10.5"}},{"before":"d1f0f20bfa98864cd2aaf931f144909d319545aa","after":"91422bdb9497e8484b3248f5ae7eb50d41e2555d","ref":"refs/heads/master","pushedAt":"2023-08-14T21:51:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tanersener","name":"Taner Sener","path":"/tanersener","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10158439?s=80&v=4"},"commit":{"message":"Plug a memory leak when adding a font on some platforms\n\nOn macOS (with Core Text) and some versions of Windows (with DirectWrite)\n(specifically, Windows 10+ Win32 as well as all versions of WinRT/UWP),\nwe read font metadata on our own via FreeType, filling implicit_meta in\nass_font_provider_add_font. However, we forgot to free it upon successful\nfont registration, leaking the memory allocated for the font name strings.\n\nThe list of affected platforms would likely have expanded in the future,\nas we eventually intend to read font names on our own across the board.\n\nLeak introduced in commit 887e6cc50bfbe8fc354993682edc03c51203e2fc.\n\nAs a quick fix, add the corresponding frees on the successful path.\nIdeally, we should refactor this function to avoid copying any freshly\nallocated memory to begin with (and thus to avoid the need to free it).\n\nFixes: https://github.com/libass/libass/issues/699","shortMessageHtmlLink":"Plug a memory leak when adding a font on some platforms"}},{"before":"32dea3434dbd85f9fb2700b6863c1bd92f00b86f","after":"d1f0f20bfa98864cd2aaf931f144909d319545aa","ref":"refs/heads/master","pushedAt":"2023-07-16T22:07:17.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"tanersener","name":"Taner Sener","path":"/tanersener","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10158439?s=80&v=4"},"commit":{"message":"ci/gha: drop temporary MinGW workaround\n\nThis workaround was added in 44beae2ae57790ba592b8f0d20c0b51006f6b7c7\ndue to undefined behaviour in inline functions from MinGW headers.\nA fix was sent upstream, merged and eventually released with version\n11.0.0 in April 2023, obsoleting the workaround on our side.\nhttps://sourceforge.net/p/mingw-w64/mingw-w64/ci/7dcf65a7f26071c6aa26d5a5a8689089ae9a6740/","shortMessageHtmlLink":"ci/gha: drop temporary MinGW workaround"}},{"before":"9b3c0d5b350e13eb69dc87b52751ec0ad44280af","after":"32dea3434dbd85f9fb2700b6863c1bd92f00b86f","ref":"refs/heads/master","pushedAt":"2023-04-14T20:17:16.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"tanersener","name":"Taner Sener","path":"/tanersener","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10158439?s=80&v=4"},"commit":{"message":"checkasm: increase BENCH_RUNS\n\nArchitectures without access to precise clocks (MacOS) can profit from it.","shortMessageHtmlLink":"checkasm: increase BENCH_RUNS"}},{"before":"218dacece7d24b45e4637ced4dc56564de29919d","after":"9b3c0d5b350e13eb69dc87b52751ec0ad44280af","ref":"refs/heads/master","pushedAt":"2023-03-22T10:20:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tanersener","name":"Taner Sener","path":"/tanersener","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10158439?s=80&v=4"},"commit":{"message":"configure: use $host_os to detect NASM config\n\nWe do not care about CPU arch and vendor when configuring NASM.\nComparing against the full host triplet anyway requires us to\neither complicate checks or use more permissive patterns than necessary\nintroducing a dependency on the specific order of checks.\nNotably GNU Hurd’s \"gnu\" name overlaps with the \"-gnu\" suffix\nused for all glibc systems. This poses a problem for e.g.\nkfreebsd-gnu which needs different settings than GNU Hurd.\n\nBy using just the actually relevant part, host_os, we can drop leading\nglobs (and hyphens) for all but *bsd*, avoiding this collision.\n\nThere are too many BSD variants to list all explicitly and a check\nagainst canonical names used by config.guess suggest all matches to\n*bsd* are actually BSD variants. In practice there are thus probably no\ncollisions to worry about, but to be extra cautious let’s put *bsd* at\nthe end.","shortMessageHtmlLink":"configure: use $host_os to detect NASM config"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEkXlj2wA","startCursor":null,"endCursor":null}},"title":"Activity · arthenica/libass"}