{"push_id":584526721,"size":8,"distinct_size":0,"ref":"refs/heads/master","head":"9349cfca910990d1126b973fd2ca55cb2351d35f","before":"dbc5d7b7db70f898dcd5cbbba76ffed38e5371ee","commits":[{"sha":"9fa73b6f645952247d3d18e617a357a5d02f644e","author":{"email":"46f1a0bd5592a2f9244ca321b129902a06b53e03@nand.wakku.to","name":"Niklas Haas"},"message":"manpage: update documentation for smoothmotion\n\nHopefully, this will really clear up how the thing is supposed to work\n(and that it's not SVP, nor MVTools).\n\nI also removed instances of the word \"interpolation\", since that's a\nterm that's easily misleading.\n\nFinally, I expanded on smoothmotion-threshold since the purpose/meaning\nwas a bit confusing.","distinct":false,"url":"https://api.github.com/repos/avih/mpv/commits/9fa73b6f645952247d3d18e617a357a5d02f644e"},{"sha":"010cf183fe3133fe6f581f9b25137827c6b26a39","author":{"email":"46f1a0bd5592a2f9244ca321b129902a06b53e03@nand.wakku.to","name":"Niklas Haas"},"message":"vo_opengl: greatly increase smoothmotion performance\n\nInstead of rendering and upscaling each video frame on every vsync, this\nversion of the algorithm only draws them once and caches the result,\nso the only operation that has to run on every vsync is a cheap linear\ninterpolation, plus CMS/dithering.\n\nOn my machine, this is a huge speedup for 24 Hz content (on a 60 Hz\nmonitor), up to 120% faster. (The speedup is not quite 250% because of\nthe overhead that the larger FBOs and CMS provides)\n\nIn terms of the implementation, this commit basically swaps\ninterpolation and upscaling - upscaling is moved to inter_program, and\ninterpolation is moved to the final_program.\n\nFurthermore, the main bulk of the frame rendering logic (upscaling etc.)\nwas moved to a separete function, which is called from\ngl_video_interpolate_frame only if it's actually necessarily, and\nskipped otherwise.","distinct":false,"url":"https://api.github.com/repos/avih/mpv/commits/010cf183fe3133fe6f581f9b25137827c6b26a39"},{"sha":"3c21a13a16f315b7d8fc6fd489b9ea2505e96a23","author":{"email":"af2b84f09c8719e0f2b649c9464c0e4e09337b2e@nowhere","name":"wm4"},"message":"manpage: adjust --ass-style-override description\n\nNo \"modified libass\" is needed anymore. Also, it said that the \"force\"\nchoice is more reliable than \"force\", which makes no sense.","distinct":false,"url":"https://api.github.com/repos/avih/mpv/commits/3c21a13a16f315b7d8fc6fd489b9ea2505e96a23"},{"sha":"a761a1531a9883abb2de5d29c98f4c96a93138a3","author":{"email":"af2b84f09c8719e0f2b649c9464c0e4e09337b2e@nowhere","name":"wm4"},"message":"demux_mkv: don't spam too many warnings with partial files\n\nLimit it to a single message. It often printed more than that, and in\nsome cases (old files with \"cluster\" index), spammed a lot.","distinct":false,"url":"https://api.github.com/repos/avih/mpv/commits/a761a1531a9883abb2de5d29c98f4c96a93138a3"},{"sha":"2e23be5a7b104c43d4754b07c85423e5027e2b5d","author":{"email":"af2b84f09c8719e0f2b649c9464c0e4e09337b2e@nowhere","name":"wm4"},"message":"demux_mkv: minor refactor for deferred cue reading\n\nShould behave about the same, but reduces code some duplication with\nseeking and reading a header element pointed to by a SeekHead. It also\nmakes behavior with incomplete files slightly better.","distinct":false,"url":"https://api.github.com/repos/avih/mpv/commits/2e23be5a7b104c43d4754b07c85423e5027e2b5d"},{"sha":"2bf0a5f2bcb5f0eea72f35d85e59125ad89566bf","author":{"email":"af2b84f09c8719e0f2b649c9464c0e4e09337b2e@nowhere","name":"wm4"},"message":"demux_mkv_timeline: pass sources array as part of context\n\nRemoves tripple pointer indirections and such.","distinct":false,"url":"https://api.github.com/repos/avih/mpv/commits/2bf0a5f2bcb5f0eea72f35d85e59125ad89566bf"},{"sha":"02bd54c0ac0933bc2fe982666bbe4da75957c485","author":{"email":"af2b84f09c8719e0f2b649c9464c0e4e09337b2e@nowhere","name":"wm4"},"message":"demux_mkv_timeline: move uids array to context too\n\nAgain removes some indirections and extra arguments.\n\nAlso replace some memcpy/memmoves with assignments. (Assignments became\npossible only later, when reference UIDs were turned into a struct.)","distinct":false,"url":"https://api.github.com/repos/avih/mpv/commits/02bd54c0ac0933bc2fe982666bbe4da75957c485"},{"sha":"9349cfca910990d1126b973fd2ca55cb2351d35f","author":{"email":"af2b84f09c8719e0f2b649c9464c0e4e09337b2e@nowhere","name":"wm4"},"message":"demux_mkv_timeline: fix potential issue when enabling cache\n\nIf the cache is enabled, the demuxer is closed and opened again (because\ncurrently, the cache can not be enabled atfer data was already read).\nThe call for opening a new demuxer uses the same params struct, which\nreferences the ctx->uids array. But there is a MP_TARRAY_GROW()\ninvocation somewhere on the way, which can reallocate the ctx->uids\narray, making params.uids a dangling pointer.\n\nThis issue probably existed for a longer time, probably since 5cd33853\n(slightly more obvious since f50b105d).","distinct":false,"url":"https://api.github.com/repos/avih/mpv/commits/9349cfca910990d1126b973fd2ca55cb2351d35f"}]}