{"action":"created","issue":{"url":"https://api.github.com/repos/AviSynth/AviSynthPlus/issues/53","labels_url":"https://api.github.com/repos/AviSynth/AviSynthPlus/issues/53/labels{/name}","comments_url":"https://api.github.com/repos/AviSynth/AviSynthPlus/issues/53/comments","events_url":"https://api.github.com/repos/AviSynth/AviSynthPlus/issues/53/events","html_url":"https://github.com/AviSynth/AviSynthPlus/pull/53","id":59469889,"number":53,"title":"Integrate changes from 2.6 RC1","user":{"login":"qyot27","id":1296881,"avatar_url":"https://avatars.githubusercontent.com/u/1296881?v=3","gravatar_id":"","url":"https://api.github.com/users/qyot27","html_url":"https://github.com/qyot27","followers_url":"https://api.github.com/users/qyot27/followers","following_url":"https://api.github.com/users/qyot27/following{/other_user}","gists_url":"https://api.github.com/users/qyot27/gists{/gist_id}","starred_url":"https://api.github.com/users/qyot27/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/qyot27/subscriptions","organizations_url":"https://api.github.com/users/qyot27/orgs","repos_url":"https://api.github.com/users/qyot27/repos","events_url":"https://api.github.com/users/qyot27/events{/privacy}","received_events_url":"https://api.github.com/users/qyot27/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-03-02T11:34:56Z","updated_at":"2015-03-03T19:23:14Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/AviSynth/AviSynthPlus/pulls/53","html_url":"https://github.com/AviSynth/AviSynthPlus/pull/53","diff_url":"https://github.com/AviSynth/AviSynthPlus/pull/53.diff","patch_url":"https://github.com/AviSynth/AviSynthPlus/pull/53.patch"},"body":"Since 2.6 RC1 was released a couple months ago, I decided to look into what could be merged.  The one thing I knew needed merging (and what motivated me to attempt it in the first place) was that RC1 finally merged the 2.6-ified C interface (and thankfully, without fucking up the license like what happened with the C++ header).\r\n\r\nThe summary of notes I took while comparing the patches:\r\n```\r\nrejected-0\t0003-Bump-revision.patch\r\nrejected-1\t0008-Change-CPUF_SSE4_2-to-0x1000-to-match-VirtualDub..patch\r\nrejected-2\t0011-Improve-reporting-of-Module-not-found-and-Proc-not-f.patch\r\nrejected-3\t0010-Only-define-KSDATAFORMAT_SUBTYPE_-if-absent.-Minor-r.patch\r\n\r\napplies\t0022-Make-I420-a-separate-type.patch\r\n\r\npartial-1\t0014-Bump-to-rev-6.-Change-CPUF_SSE4_2-to-0x1000-to-match.patch\r\npartial-2\t0013-Add-more-info-to-out-of-memory-message.-Add-IScriptE.patch\r\napplies-1,partial-3\t0005-Fix-handling-of-padded-planar-handling-on-pixel-type.patch\r\n\r\nadapted\t0004-Fix-handling-of-padded-planar-handling-on-pixel-type.patch\r\nadapted\t0006-Start-adding-2.6-functions-to-the-C-interface.patch\r\nadapted\t0007-Remove-legacy-2.5-cache-definitions-from-Avisynth.h.patch\r\nadapted\t0009-Catch-chroma-references-of-Y8-in-conditional-functio.patch\r\nadapted\t0012-Fix-VideoInfo-Is-property-to-reference-image_type.-F.patch\r\nadapted\t0017-VTrack-ATrack-avisource-Wilbert.patch\r\nadapted\t0021-Move-more-C-interface-baked-code-into-core.patch\r\n\r\nHTML\t0001-adding-new-api-documentation.patch\r\nHTML\t0002-add-new-api-documentation.patch\r\nHTML\t0015-Wrap-loooooong-lines.patch\r\nHTML\t0016-Wrap-loooooong-lines.patch\r\nHTML\t0018-2.6-updates.patch\r\nHTML\t0019-corrections.patch\r\nHTML\t0020-Repair-html-source-white-spacing-and-wraping.-Some-c.patch\r\n\r\nrejected-0\tavsplus' versioning starts from 0.x, and this should\r\n\t\tfinally reflect that, so a different patch was used\r\n\r\nrejected-1\tavsplus has a completely rewritten CPU detection,\r\n\t\talready supports 0x1000 for SSE4.2\r\n\r\nrejected-2\tavsplus has a completely rewritten plugin loader\r\n\r\nrejected-3\tMost of this commit was one of: whitespace changes/cosmetics,\r\n\t\tirrelevant because avsplus rewrote a lot of it, or\r\n\t\tminor refactoring that would need to be parsed away from the avsplus-side\r\n\t\tchanges in function/variable names and whatnot.  The KSDATAFORMAT ifndef\r\n\t\twas already added to avsplus.\r\n\r\npartial-1\tavsplus already supports 64-bit, so a lot of this\r\n\t\t(especially the extraneous line formatting) is probably irrelevant,\r\n\t\talso see rejected-1; the version bumping is the important thing to look at\r\n\r\npartial-2\tGetVarDef is one of a group of several similar functions that seem to be gone in\r\n\t\tavsplus, so don't bother with it.  LinkedVideoBuffer seems to be part of\r\n\t\tthe stuff that got axed in avsplus, most likely with the cache improvements.\r\n\t\tSome of the int->size_t instances seemed to be okay, but others\r\n\t\twere embedded in the middle of the rewritten caches, so I left them\r\n\t\talone.  I figure those caches were rewritten with int in mind anyway,\r\n\t\tand since avsplus does already support 64-bit, that would seem to be minor/insignificant.\r\n\r\napplies-1\tAs long as the directshow_source.rc reference is removed\r\n\t\twhy is directshow_source.rc gone from the avsplus source tree?\r\n\r\npartial-3\tSee applies-1, but also required commenting out a line in directshow_source.cpp due to a redefinition error\r\n\r\nHTML\t\tThese were all HTML commits, and commit cleanly just so long as\r\n\t\tthe paths get adjusted to point at the correct docs locations.\r\n```\r\n\r\nThere are a few things I still have questions about:\r\nThe AVS_ScriptEnvironment struct works only if it's in avisynth_c.h - moving it to avisynth_c.cpp caused both avisynth_c.cpp to fail compilation but also PluginManager.cpp to not compile.  I moved that piece back into the header, but if there's a way to make it work from the *.cpp the way that would seem 'better', I guess.\r\n\r\nIt seems that when avs_is_writable was moved out of avisynth_c.h, more code was added to it, but this code causes a compilation error.  I commented it out and used the version as it was from the header.\r\n\r\nThat NV12 line in directshow_source.cpp causes a compilation failure via redefinition error.  Again, I commented it out, but that would need fixing.\r\n\r\nRC1 moves lots of cases of int to size_t in preparation for 64-bit (and unfortunately, does so mixed inside of other commits).  I figured that these weren't immediately relevant to avsplus, since we already support 64-bit.  But if those should be moved over to size_t, then let me know.\r\n\r\nI also posted a test build in the Doom9 thread:\r\nhttp://forum.doom9.org/showthread.php?p=1711770#post1711770"},"comment":{"url":"https://api.github.com/repos/AviSynth/AviSynthPlus/issues/comments/77015054","html_url":"https://github.com/AviSynth/AviSynthPlus/pull/53#issuecomment-77015054","issue_url":"https://api.github.com/repos/AviSynth/AviSynthPlus/issues/53","id":77015054,"user":{"login":"qyot27","id":1296881,"avatar_url":"https://avatars.githubusercontent.com/u/1296881?v=3","gravatar_id":"","url":"https://api.github.com/users/qyot27","html_url":"https://github.com/qyot27","followers_url":"https://api.github.com/users/qyot27/followers","following_url":"https://api.github.com/users/qyot27/following{/other_user}","gists_url":"https://api.github.com/users/qyot27/gists{/gist_id}","starred_url":"https://api.github.com/users/qyot27/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/qyot27/subscriptions","organizations_url":"https://api.github.com/users/qyot27/orgs","repos_url":"https://api.github.com/users/qyot27/repos","events_url":"https://api.github.com/users/qyot27/events{/privacy}","received_events_url":"https://api.github.com/users/qyot27/received_events","type":"User","site_admin":false},"created_at":"2015-03-03T19:23:14Z","updated_at":"2015-03-03T19:23:14Z","body":"In honesty, one of the other reasons I did this was in hopes that it might help un-hiatus the project.\r\n\r\nApart from this pull request, I've also been working [slowly] on getting the intrinsics split into discrete files for the linux branch, although I've got no ETA on that (and I'll need to find some solution of paring down the includes on the new files, since I doubt they need all the same stuff the main one does - my solution thus far was to put them in the forward declaration headers).  The convert/ directory is more or less finished, I'm working on filters/ right now.\r\n\r\nAnd I also stumbled upon a potentially better method of migrating HTML to RST, so I might actually start working on getting the non-English documentation converted over to RST too (although it'll probably wait until after the intrinsics splitting is done)."}}