Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
![]() |
#1 | Link |
Registered User
Join Date: Feb 2016
Location: Nonsense land
Posts: 331
|
CTools
GitHub:
https://github.com/CeppoTools/CTools GitHub Release: https://github.com/CeppoTools/CTools...ses/tag/v1.2.2 I'm not a programmer, so advices are gladly accepted. CQTGMC needs: rgTools.dll masktools2.dll mvtools2.dll needi3.dll Code:
### DEINTERLACER ### # CQTGMC by Ceppo # v1.0.0 first public release # This function is an attempt to emulate QTGMC while retaining more details, removing more shimmering with as less blending as possible. # PARAMETERS: # Sharpeness (0.25): sharpening filter strength. Higher values give more sharpening. # thSAD1: deshimmering strength, higher value give less shimmering, while lower values less blending. # thSAD2: deshimmering strength in search clip, if you get combed pixels you may want to lower this and increase thSAD1. # thSAD3: strength for restoring progressive content, if you get combed pixels you may want to lower this. # thSAD3: MCompensate's thSAD for the sharpening filter limiter. function CQTGMC(clip input, float "Sharpness", int "thSAD1", int "thSAD2", int "thSAD3", int "thSAD4") { thSAD1 = default(thSAD1, 192) thSAD2 = default(thSAD2, 320) thSAD3 = default(thSAD3, 128) thSAD4 = default(thSAD4, 320) Sharpness = default(Sharpness, 0.25) padded = StackHorizontal(input,input.FlipHorizontal()).Crop(0,0,input.width()+input.width()%64,0) padded = StackVertical(padded,padded.FlipVertical()).Crop(0,0,0,input.height()+input.height()%64) bobbed = padded.nnedi3(-2) bobbed RemoveGrain(12) GaussResize(width(),height(),0,0,width()+0.0001,height()+0.0001,p=2) Merge(bobbed,0.25) srchClip = last super = MSuper() bvec = MAnalyse(super,isb=true,blksize=64,overlap=32) fvec = MAnalyse(super,isb=false,blksize=64,overlap=32) Comp1 = MCompensate(super,bvec,thSAD=thSAD2) Comp2 = MCompensate(super,fvec,thSAD=thSAD2) Interleave(Comp1,last,Comp2) super = MSuper() bvec = MAnalyse(super,isb=true,blksize=64,overlap=32) fvec = MAnalyse(super,isb=false,blksize=64,overlap=32) Inter = MFlowInter(super,bvec,fvec,blend=false) global CQTGMC_A = Inter.SelectEvery(3,0) global CQTGMC_B = Inter.SelectEvery(3,1) srchClip ScriptClip(""" P = YDifferenceFromPrevious() N = Trim(1,0).YDifferenceFromPrevious() N < P ? CQTGMC_A : CQTGMC_B """) super = MSuper() bVec1 = MAnalyse(super,isb=true,overlap=4,delta=1) fVec1 = MAnalyse(super,isb=false,overlap=4,delta=1) bVec2 = MAnalyse(super,isb=true,overlap=4,delta=2) fVec2 = MAnalyse(super,isb=false,overlap=4,delta=2) bVec3 = MAnalyse(super,isb=true,overlap=4,delta=3) fVec3 = MAnalyse(super,isb=false,overlap=4,delta=3) bobbed super = MSuper(levels=1) bComp1 = MCompensate(super,bVec1,thSAD=thSAD3) fComp1 = MCompensate(super,fVec1,thSAD=thSAD3) Interleave(\ SeparateFields(bobbed).SelectEvery(4,0),\ SeparateFields(fComp1).SelectEvery(4,1),\ SeparateFields(bComp1).SelectEvery(4,2),\ SeparateFields(bobbed).SelectEvery(4,3)) Weave() super = MSuper(levels=1) bComp1 = MCompensate(super, bVec1,thSAD=thSAD4) fComp1 = MCompensate(super, fVec1,thSAD=thSAD4) tMax = mt_logic(fComp1,"max",U=3,V=3).mt_logic(bComp1,"max",U=3,V=3) tMin = mt_logic(fComp1,"min",U=3,V=3).mt_logic(bComp1,"min",U=3,V=3) bComp3 = MCompensate(super,bVec3,thSAD=thSAD4) fComp3 = MCompensate(super,fVec3,thSAD=thSAD4) tMax = tMax.mt_logic(fComp3,"max", U=3,V=3 ).mt_logic(bComp3,"max", U=3,V=3 ) tMin = tMin.mt_logic(fComp3,"min", U=3,V=3 ).mt_logic(bComp3,"min", U=3,V=3 ) MDegrain3(super,bVec1,fVec1,bVec2,fVec2,bVec3,fVec3,thSAD=thSAD1) sharpen = mt_adddiff(mt_makediff(Removegrain(20),u=3,v=3),u=3,v=3) mt_clamp(sharpen,tMax,tMin,Sharpness,Sharpness,3,3,3) super = MSuper(levels=1) MDegrain3(super,bVec1,fVec1,bVec2,fVec2,bVec3,fVec3,thSAD=thSAD1) Crop(0,0,-(input.width()%64),-(input.height()%64)) return last } Code:
### DEINTERLACER ### # CQTGMC by Ceppo # v1.0.1 # - Added TDeint for search clip. # - Changed MDegrain3 to MDegrain1 for speed. # v1.0.0 first public release # # This function is an attempt to emulate QTGMC while retaining more details, removing more shimmering with as less blending as possible. # PARAMETERS: # Sharpeness (0.25): sharpening filter strength. Higher values give more sharpening. # thSAD1: deshimmering strength, higher value give less shimmering, while lower values less blending. # thSAD2: deshimmering strength in search clip, if you get combed pixels you may want to lower this and increase thSAD1. # thSAD3: strength for restoring progressive content, if you get combed pixels you may want to lower this. # thSAD3: MCompensate's thSAD for the sharpening filter limiter. function CQTGMC(clip input, float "Sharpness", int "thSAD1", int "thSAD2", int "thSAD3", int "thSAD4") { thSAD1 = default(thSAD1, 192) thSAD2 = default(thSAD2, 320) thSAD3 = default(thSAD3, 128) thSAD4 = default(thSAD4, 320) Sharpness = default(Sharpness, 0.25) padded = StackHorizontal(input,input.FlipHorizontal()).Crop(0,0,input.width()+input.width()%64,0) padded = StackVertical(padded,padded.FlipVertical()).Crop(0,0,0,input.height()+input.height()%64) bobbed = padded.nnedi3(-2) padded TDeint(mode=1,sharp=false,tryWeave=true,edeint=bobbed) RemoveGrain(12).GaussResize(width(),height(),0,0,width()+0.0001,height()+0.0001,p=2).Merge(last,0.25) srchClip = last super = MSuper() bvec = MAnalyse(super,isb=true,blksize=64,overlap=32) fvec = MAnalyse(super,isb=false,blksize=64,overlap=32) Comp1 = MCompensate(super,bvec,thSAD=thSAD2) Comp2 = MCompensate(super,fvec,thSAD=thSAD2) Interleave(Comp1,last,Comp2) super = MSuper() bvec = MAnalyse(super,isb=true,blksize=64,overlap=32) fvec = MAnalyse(super,isb=false,blksize=64,overlap=32) Inter = MFlowInter(super,bvec,fvec,blend=false) global CQTGMC_A = Inter.SelectEvery(3,0) global CQTGMC_B = Inter.SelectEvery(3,1) srchClip ScriptClip(""" P = YDifferenceFromPrevious() N = Trim(1,0).YDifferenceFromPrevious() N < P ? CQTGMC_A : CQTGMC_B """) super = MSuper() bVec1 = MAnalyse(super,isb=true,overlap=4,delta=1) fVec1 = MAnalyse(super,isb=false,overlap=4,delta=1) bobbed super = MSuper(levels=1) bComp1 = MCompensate(super,bVec1,thSAD=thSAD3) fComp1 = MCompensate(super,fVec1,thSAD=thSAD3) Interleave(\ SeparateFields(bobbed).SelectEvery(4,0),\ SeparateFields(fComp1).SelectEvery(4,1),\ SeparateFields(bComp1).SelectEvery(4,2),\ SeparateFields(bobbed).SelectEvery(4,3)) Weave() super = MSuper(levels=1) bComp1 = MCompensate(super, bVec1,thSAD=thSAD4) fComp1 = MCompensate(super, fVec1,thSAD=thSAD4) tMax = mt_logic(fComp1,"max",U=3,V=3).mt_logic(bComp1,"max",U=3,V=3) tMin = mt_logic(fComp1,"min",U=3,V=3).mt_logic(bComp1,"min",U=3,V=3) MDegrain1(super,bVec1,fVec1,thSAD=thSAD1) sharpen = mt_adddiff(mt_makediff(Removegrain(20),u=3,v=3),u=3,v=3) mt_clamp(sharpen,tMax,tMin,Sharpness,Sharpness,3,3,3) super = MSuper(levels=1) MDegrain1(super,bVec1,fVec1,thSAD=thSAD1) Crop(0,0,-(input.width()%64),-(input.height()%64)) return last } Last edited by Ceppo; 18th April 2022 at 12:10. Reason: Update. |
![]() |
![]() |
![]() |
#2 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,579
|
thanks, so this is like an update for https://forum.doom9.org/showthread.php?p=1935471 ?
it will be nice if it can deal with cases like https://github.com/pinterf/TIVTC/issues/26 and https://github.com/pinterf/TIVTC/issues/27
__________________
See My Avisynth Stuff |
![]() |
![]() |
![]() |
#3 | Link |
Registered User
Join Date: Feb 2016
Location: Nonsense land
Posts: 331
|
Yes, CTelecine2() is telecinebob() with a minor update.
About the rest (I gave a quick look since I'm going to sleep) I can try to mod CDecimate to output a VFR framerate and a VFR file. For the moire effect, I need a source to understand the problem since I never encountered it in my experience. |
![]() |
![]() |
![]() |
#4 | Link |
Registered User
Join Date: Jan 2018
Posts: 1,898
|
Here have sample moirr effect, good luck
https://forum.doom9.org/showthread.p...03#post1684203 Will happy if you add more colors space and HBD ![]() |
![]() |
![]() |
![]() |
#5 | Link | ||
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,579
|
Quote:
Quote:
__________________
See My Avisynth Stuff |
||
![]() |
![]() |
![]() |
#6 | Link |
Registered User
Join Date: Feb 2016
Location: Nonsense land
Posts: 331
|
On it!
Edit: I did the VFR mod and I found a way to do the right field matching when there is the moire effect. I lost an hour tracking a bug. I hope to finish the testing tomorrow. Last edited by Ceppo; 12th February 2022 at 20:02. |
![]() |
![]() |
![]() |
#7 | Link |
Registered User
Join Date: Feb 2016
Location: Nonsense land
Posts: 331
|
I added VFR and created CFieldDuplicate. In the ReadMe.txt you will see how to use it for the moire effect.
On real.finder linked source I got a constant pattern correctly. It won't work on Anime due to the duplicates. But it should improve field matching on non-anime sources. If someone has a source to test it. Mine are all progressive. |
![]() |
![]() |
![]() |
#8 | Link | |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,579
|
Quote:
I did try to get vfr from http://www.solidfiles.com/v/NVqK6xkYK7ANM Code:
CTelecine(thr2=2,edeint2=QTGMC(),write=true) #CDecimate(true) Code:
CTelecine(thr2=2,edeint2=QTGMC(),inputtxt=true) CDecimate(true) I did edit CTelecine.txt but no luck
__________________
See My Avisynth Stuff |
|
![]() |
![]() |
![]() |
#10 | Link | |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,579
|
Quote:
__________________
See My Avisynth Stuff |
|
![]() |
![]() |
![]() |
#12 | Link |
Registered User
Join Date: Feb 2016
Location: Nonsense land
Posts: 331
|
With anime is a pain, however I did it until frame 1500
Code:
#1-pass #~ CTelecine(write=true) #2-pass #~ CDuplicate(nt=0,write=true) #3-pass #Copy CDuplicate first 1206 frames and replace them in CTelecine.txt #An euristic to fix the wrong field matching is to look at the previous pattern. #~ CTelecine(thr2=6,edeint2=QTGMC().SelectEven(),inputTxt=true) #~ CDecimate(true) Code:
0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0 11 0 12 0 13 0 14 0 15 0 16 0 17 0 18 0 19 0 20 0 21 0 22 0 23 0 24 0 25 0 26 0 27 0 28 0 29 0 30 0 31 0 32 0 33 0 34 0 35 0 36 0 37 0 38 0 39 0 40 0 41 0 42 0 43 0 44 0 45 0 46 0 47 0 48 0 49 0 50 0 51 0 52 0 53 0 54 0 55 0 56 0 57 0 58 0 59 0 60 0 61 0 62 0 63 0 64 0 65 0 66 0 67 0 68 0 69 0 70 0 71 0 72 0 73 0 74 0 75 0 76 0 77 0 78 0 79 0 80 0 81 0 82 0 83 0 84 0 85 0 86 0 87 0 88 0 89 0 90 0 91 0 92 0 93 0 94 0 95 0 96 0 97 0 98 0 99 0 100 0 101 0 102 0 103 0 104 0 105 0 106 0 107 0 108 0 109 0 110 0 111 0 112 0 113 0 114 0 115 0 116 0 117 0 118 0 119 0 120 0 121 0 122 0 123 0 124 0 125 0 126 0 127 0 128 0 129 0 130 0 131 0 132 0 133 0 134 0 135 0 136 0 137 0 138 0 139 0 140 0 141 0 142 0 143 0 144 0 145 0 146 0 147 0 148 0 149 0 150 0 151 0 152 0 153 0 154 0 155 0 156 0 157 0 158 0 159 0 160 0 161 0 162 0 163 0 164 0 165 0 166 0 167 0 168 0 169 0 170 0 171 0 172 0 173 0 174 0 175 0 176 0 177 0 178 0 179 0 180 0 181 0 182 0 183 0 184 0 185 0 186 0 187 0 188 0 189 0 190 0 191 0 192 0 193 0 194 0 195 0 196 0 197 0 198 0 199 0 200 0 201 0 202 0 203 0 204 0 205 0 206 0 207 0 208 0 209 0 210 0 211 0 212 0 213 0 214 0 215 0 216 0 217 0 218 0 219 0 220 0 221 0 222 0 223 0 224 0 225 0 226 0 227 0 228 0 229 0 230 0 231 0 232 0 233 0 234 0 235 0 236 0 237 0 238 0 239 0 240 0 241 0 242 0 243 0 244 0 245 0 246 0 247 0 248 0 249 0 250 0 251 0 252 0 253 0 254 0 255 0 256 0 257 0 258 0 259 0 260 0 261 0 262 0 263 0 264 0 265 0 266 0 267 0 268 0 269 0 270 0 271 0 272 0 273 0 274 0 275 0 276 0 277 0 278 0 279 0 280 0 281 0 282 0 283 0 284 0 285 0 286 0 287 0 288 0 289 0 290 0 291 0 292 0 293 0 294 0 295 0 296 0 297 0 298 0 299 0 300 0 301 0 302 0 303 0 304 0 305 0 306 0 307 0 308 0 309 0 310 0 311 0 312 0 313 0 314 0 315 0 316 0 317 0 318 0 319 0 320 0 321 0 322 0 323 0 324 0 325 0 326 0 327 0 328 0 329 0 330 0 331 0 332 0 333 0 334 0 335 0 336 0 337 0 338 0 339 0 340 0 341 0 342 0 343 0 344 0 345 0 346 0 347 0 348 0 349 0 350 0 351 0 352 0 353 0 354 0 355 0 356 0 357 0 358 0 359 0 360 0 361 0 362 0 363 0 364 0 365 0 366 0 367 0 368 0 369 0 370 0 371 0 372 0 373 0 374 0 375 0 376 0 377 0 378 0 379 0 380 0 381 0 382 0 383 0 384 0 385 0 386 0 387 0 388 0 389 0 390 0 391 0 392 0 393 0 394 0 395 0 396 0 397 0 398 0 399 0 400 0 401 0 402 0 403 0 404 0 405 0 406 0 407 0 408 0 409 0 410 0 411 0 412 0 413 0 414 0 415 0 416 0 417 0 418 0 419 0 420 0 421 0 422 0 423 0 424 0 425 0 426 0 427 0 428 0 429 0 430 0 431 0 432 0 433 0 434 0 435 0 436 0 437 0 438 0 439 0 440 0 441 0 442 0 443 0 444 0 445 0 446 0 447 0 448 0 449 0 450 0 451 0 452 0 453 0 454 0 455 0 456 0 457 0 458 0 459 0 460 0 461 0 462 0 463 0 464 0 465 0 466 0 467 0 468 0 469 0 470 0 471 0 472 0 473 0 474 0 475 0 476 0 477 0 478 0 479 0 480 0 481 0 482 0 483 0 484 0 485 0 486 0 487 0 488 0 489 0 490 0 491 0 492 0 493 0 494 0 495 0 496 0 497 0 498 0 499 0 500 0 501 0 502 0 503 0 504 0 505 0 506 0 507 0 508 0 509 0 510 0 511 0 512 0 513 0 514 0 515 0 516 0 517 0 518 0 519 0 520 0 521 0 522 0 523 0 524 0 525 0 526 0 527 0 528 0 529 0 530 0 531 0 532 0 533 0 534 0 535 0 536 0 537 0 538 0 539 0 540 0 541 0 542 0 543 0 544 0 545 0 546 0 547 0 548 0 549 0 550 0 551 0 552 0 553 0 554 0 555 0 556 0 557 0 558 0 559 0 560 0 561 0 562 0 563 0 564 0 565 0 566 0 567 0 568 0 569 0 570 0 571 0 572 0 573 0 574 0 575 0 576 0 577 0 578 0 579 0 580 0 581 0 582 0 583 0 584 0 585 0 586 0 587 0 588 0 589 0 590 0 591 0 592 0 593 0 594 0 595 0 596 0 597 0 598 0 599 0 600 0 601 0 602 0 603 0 604 0 605 0 606 0 607 0 608 0 609 0 610 0 611 0 612 0 613 0 614 0 615 0 616 0 617 0 618 0 619 0 620 0 621 0 622 0 623 0 624 0 625 0 626 0 627 0 628 0 629 0 630 0 631 0 632 0 633 0 634 0 635 0 636 0 637 0 638 0 639 0 640 0 641 0 642 0 643 0 644 0 645 0 646 0 647 0 648 0 649 0 650 0 651 0 652 0 653 0 654 0 655 0 656 0 657 0 658 0 659 0 660 0 661 0 662 0 663 0 664 0 665 0 666 0 667 0 668 0 669 0 670 0 671 0 672 0 673 0 674 0 675 0 676 0 677 0 678 0 679 0 680 0 681 0 682 0 683 0 684 0 685 0 686 0 687 0 688 0 689 0 690 0 691 0 692 0 693 0 694 0 695 0 696 0 697 0 698 0 699 0 700 0 701 0 702 0 703 0 704 0 705 0 706 0 707 0 708 0 709 0 710 0 711 0 712 0 713 0 714 0 715 0 716 0 717 0 718 0 719 0 720 0 721 0 722 0 723 0 724 0 725 0 726 0 727 0 728 0 729 0 730 0 731 0 732 0 733 0 734 0 735 0 736 0 737 0 738 0 739 0 740 0 741 0 742 0 743 0 744 0 745 0 746 0 747 0 748 0 749 0 750 0 751 0 752 0 753 0 754 0 755 0 756 0 757 0 758 0 759 0 760 0 761 0 762 0 763 0 764 0 765 0 766 0 767 0 768 0 769 0 770 0 771 0 772 0 773 0 774 0 775 0 776 0 777 0 778 0 779 0 780 0 781 0 782 0 783 0 784 0 785 0 786 0 787 0 788 0 789 0 790 0 791 0 792 0 793 0 794 0 795 0 796 0 797 0 798 0 799 0 800 0 801 0 802 0 803 0 804 0 805 0 806 0 807 0 808 0 809 0 810 0 811 0 812 0 813 0 814 0 815 0 816 0 817 0 818 0 819 0 820 0 821 0 822 0 823 0 824 0 825 0 826 0 827 0 828 0 829 0 830 0 831 0 832 0 833 0 834 0 835 0 836 0 837 0 838 0 839 0 840 0 841 0 842 0 843 0 844 0 845 0 846 0 847 0 848 0 849 0 850 0 851 0 852 0 853 0 854 0 855 0 856 0 857 0 858 0 859 0 860 0 861 0 862 0 863 0 864 0 865 0 866 0 867 0 868 0 869 0 870 0 871 0 872 0 873 0 874 0 875 0 876 0 877 0 878 0 879 0 880 0 881 0 882 0 883 0 884 0 885 0 886 0 887 0 888 0 889 0 890 0 891 0 892 0 893 0 894 0 895 0 896 0 897 0 898 0 899 0 900 0 901 0 902 0 903 0 904 0 905 0 906 0 907 0 908 0 909 0 910 0 911 0 912 0 913 0 914 0 915 0 916 0 917 0 918 0 919 0 920 0 921 0 922 0 923 0 924 0 925 0 926 0 927 0 928 0 929 0 930 0 931 0 932 0 933 0 934 0 935 0 936 0 937 0 938 0 939 0 940 0 941 0 942 0 943 0 944 0 945 0 946 0 947 0 948 0 949 0 950 0 951 0 952 0 953 0 954 0 955 0 956 0 957 0 958 0 959 0 960 0 961 0 962 0 963 0 964 0 965 0 966 0 967 0 968 0 969 0 970 0 971 0 972 0 973 0 974 0 975 0 976 0 977 0 978 0 979 0 980 0 981 0 982 0 983 0 984 0 985 0 986 0 987 0 988 0 989 0 990 0 991 0 992 0 993 0 994 0 995 0 996 0 997 0 998 0 999 0 1000 0 1001 0 1002 0 1003 0 1004 0 1005 0 1006 0 1007 0 1008 0 1009 0 1010 0 1011 0 1012 0 1013 0 1014 0 1015 0 1016 0 1017 0 1018 0 1019 0 1020 0 1021 0 1022 0 1023 0 1024 0 1025 0 1026 0 1027 0 1028 0 1029 0 1030 0 1031 0 1032 0 1033 0 1034 0 1035 0 1036 0 1037 0 1038 0 1039 0 1040 0 1041 0 1042 0 1043 0 1044 0 1045 0 1046 0 1047 0 1048 0 1049 0 1050 0 1051 0 1052 0 1053 0 1054 0 1055 0 1056 0 1057 0 1058 0 1059 0 1060 0 1061 0 1062 0 1063 0 1064 0 1065 0 1066 0 1067 0 1068 0 1069 0 1070 0 1071 0 1072 0 1073 0 1074 0 1075 0 1076 0 1077 0 1078 0 1079 0 1080 0 1081 0 1082 0 1083 0 1084 0 1085 0 1086 0 1087 0 1088 0 1089 0 1090 0 1091 0 1092 0 1093 0 1094 0 1095 0 1096 0 1097 0 1098 0 1099 0 1100 0 1101 0 1102 0 1103 0 1104 0 1105 0 1106 0 1107 0 1108 0 1109 0 1110 0 1111 0 1112 0 1113 0 1114 0 1115 0 1116 0 1117 0 1118 0 1119 0 1120 0 1121 0 1122 0 1123 0 1124 0 1125 0 1126 0 1127 0 1128 0 1129 0 1130 0 1131 0 1132 0 1133 0 1134 0 1135 0 1136 0 1137 0 1138 0 1139 0 1140 0 1141 0 1142 0 1143 0 1144 0 1145 0 1146 0 1147 0 1148 0 1149 0 1150 0 1151 0 1152 0 1153 0 1154 0 1155 0 1156 0 1157 0 1158 0 1159 0 1160 0 1161 0 1162 0 1163 0 1164 0 1165 0 1166 0 1167 0 1168 0 1169 0 1170 0 1171 0 1172 0 1173 0 1174 0 1175 0 1176 0 1177 0 1178 0 1179 0 1180 0 1181 0 1182 0 1183 0 1184 0 1185 0 1186 0 1187 0 1188 0 1189 0 1190 0 1191 0 1192 0 1193 0 1194 0 1195 0 1196 0 1197 0 1198 0 1199 0 1200 0 1201 0 1202 0 1203 0 1204 0 1205 0 1206 0 1207 1 1208 1 1209 0 1210 0 1211 1 1212 1 1213 0 1214 0 1215 0 1216 0 1217 1 1218 1 1219 0 1220 0 1221 0 1222 1 1223 1 1224 0 1225 0 1226 0 1227 1 1228 1 1229 0 1230 0 1231 0 1232 1 1233 1 1234 0 1235 0 1236 0 1237 1 1238 1 1239 0 1240 0 1241 0 1242 1 1243 1 1244 0 1245 0 1246 0 1247 1 1248 1 1249 0 1250 0 1251 0 1252 1 1253 1 1254 0 1255 0 1256 0 1257 1 1258 1 1259 0 1260 0 1261 0 1262 1 1263 1 1264 0 1265 0 1266 0 1267 1 1268 1 1269 0 1270 0 1271 0 1272 1 1273 1 1274 0 1275 0 1276 0 1277 1 1278 1 1279 0 1280 0 1281 0 1282 1 1283 1 1284 0 1285 0 1286 0 1287 1 1288 1 1289 0 1290 0 1291 0 1292 1 1293 1 1294 0 1295 0 1296 0 1297 1 1298 1 1299 0 1300 0 1301 0 1302 1 1303 1 1304 0 1305 0 1306 0 1307 1 1308 1 1309 0 1310 0 1311 0 1312 1 1313 1 1314 0 1315 0 1316 0 1317 1 1318 1 1319 0 1320 0 1321 0 1322 1 1323 1 1324 0 1325 0 1326 0 1327 1 1328 1 1329 0 1330 0 1331 0 1332 1 1333 1 1334 0 1335 0 1336 0 1337 1 1338 1 1339 0 1340 0 1341 0 1342 1 1343 1 1344 0 1345 0 1346 0 1347 1 1348 1 1349 0 1350 0 1351 0 1352 1 1353 1 1354 0 1355 0 1356 0 1357 1 1358 1 1359 1 1360 0 1361 0 1362 0 1363 1 1364 1 1365 0 1366 0 1367 0 1368 1 1369 1 1370 0 1371 0 1372 0 1373 1 1374 1 1375 0 1376 0 1377 0 1378 1 1379 1 1380 0 1381 0 1382 0 1383 1 1384 1 1385 0 1386 0 1387 0 1388 1 1389 1 1390 0 1391 0 1392 0 1393 1 1394 1 1395 0 1396 0 1397 0 1398 1 1399 1 1400 0 1401 0 1402 0 1403 1 1404 1 1405 0 1406 0 1407 0 1408 1 1409 1 1410 0 1411 0 1412 0 1413 1 1414 1 1415 0 1416 0 1417 0 1418 1 1419 1 1420 0 1421 0 1422 0 1423 1 1424 1 1425 0 1426 0 1427 0 1428 1 1429 1 1430 0 1431 0 1432 0 1433 1 1434 1 1435 0 1436 0 1437 0 1438 1 1439 0 1440 0 1441 0 1442 0 1443 0 1444 0 1445 1 1446 1 1447 0 1448 0 1449 0 1450 0 1451 1 1452 1 1453 0 1454 0 1455 1 1456 1 1457 0 1458 0 1459 0 1460 0 1461 1 1462 1 1463 0 1464 0 1465 1 1466 1 1467 0 1468 0 1469 0 1470 1 1471 1 1472 0 1473 0 1474 0 1475 1 1476 1 1477 0 1478 0 1479 0 1480 1 1481 1 1482 0 1483 0 1484 0 1485 1 1486 1 1487 0 1488 0 1489 0 1490 1 1491 1 1492 0 1493 0 1494 0 1495 1 1496 1 1497 0 1498 0 1499 0 1500 1 1501 1 1502 0 1503 0 1504 0 1505 1 1506 1 1507 0 1508 0 1509 0 1510 1 1511 1 1512 0 1513 0 1514 0 1515 1 1516 1 1517 0 1518 0 1519 0 1520 0 1521 0 1522 0 1523 0 1524 0 1525 0 1526 0 1527 0 1528 0 1529 1 1530 1 1531 0 1532 0 1533 0 1534 1 1535 1 1536 0 1537 0 1538 0 1539 1 1540 1 1541 0 1542 0 1543 0 1544 1 1545 1 1546 0 1547 0 1548 0 1549 1 1550 1 1551 0 1552 0 1553 0 1554 1 1555 1 1556 EDIT: I will also make a guess pattern function. Last edited by Ceppo; 13th February 2022 at 22:30. |
![]() |
![]() |
![]() |
#13 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,579
|
you use "CTelecine(thr2=6,edeint2=QTGMC().SelectEven(),inputTxt=true)"
so the vfr will be up to only 30 fps not 60 fps? the point of https://github.com/pinterf/TIVTC/issues/26 is to have vfr that go up to 60 fps in sources like the one in the sample
__________________
See My Avisynth Stuff |
![]() |
![]() |
![]() |
#14 | Link |
Registered User
Join Date: Feb 2016
Location: Nonsense land
Posts: 331
|
To output a mixed 60fps, the only way that I can think of is to hide the odd frame from the bobbed clip doubling the height, then have CDecimate put it all together. Is kind of tricky, I need some time to think about it.
|
![]() |
![]() |
![]() |
#15 | Link |
Registered User
Join Date: Feb 2016
Location: Nonsense land
Posts: 331
|
I want to give an update: I have been able to make a guess pattern function with minimal error to reduce manual labor. Tomorrow I Will get to the 60fps business. I will make a fake 60fps and all fake frames will be dropped.
|
![]() |
![]() |
![]() |
#16 | Link |
Registered User
Join Date: Feb 2016
Location: Nonsense land
Posts: 331
|
Done. But I didn't update the ReadMe file. Maybe tomorrow.
real.finder Source: This source has no 60i content aside from the dissolve transition. And you won't never get thr2 to deinterlace it without deinterlacing other not 60i frames. You can try if you want. It's just a guess. Code:
#1st pass #~ CFieldDuplicate(thr2=10,nt=10,write=true) #2nd pass #~ Bob().SelectEven() #~ CSceneChange(SCClip(true,800),write=true) #3nd pass #~ CGuessPattern() #4th pass Check CDecimate and fix post telecine cuts. CTelecine(inputTxt=true) Cn(1900)#force n match on ccccc cycle. Cn(2477) Cn(2647) #5th pass Fix wrong scene match due bad SC detection (my fault). #~ CSetPattern(1360,1439,ncccn=true) #~ CSetPattern(1445,1519,cnncc=true) #~ CSetPattern(2535,2594,cnncc=true) #~ CSetPattern(2595,2649,nnccc=true) #~ CSetPattern(2650,2729,ccnnc=true) #~ CSetPattern(2835,2954,ccnnc=true) #~ CSetPattern(2955,2969,ncccn=true) #6th pass All done! CDecimate() CTelecine(match=false,thr2=3,edeint2=QTGMC().SelectEven()) vinverse() CGuessPattern is all about getting right the scene change and having enough motion in it. Otherwise, it will output a nnccc pattern cuz is the first in the array. 60i VFR test: source and encode download Code:
#Pass-1 #~ CTelecine2(thr2=6,edeint2=QTGMC(),write=true) #Pass-2 Rename CTelecine2.txt to CTelecine.txt and use CSetPattern and adjust 60i cycles (the ones with all 2s) #~ CSetPattern(0,54,cccnn=true) #~ CSetPattern(65,149,cnncc=true) #Pass-3 CTelecine2(thr2=6,edeint2=QTGMC(),inputTxt=true) CFieldDeBlend(0.005,bob=CTelecine2(thr=3,edeint=nnedi3(-2))) CDecimate2() reduceby2()#random resize Also, due to the anime problem, I came up with a new field matching method which is much better but a bit slower. It won't do random n match like TIVTC modes do so this reduces a lot of work, the worst you get is a single n match due to duplicates but is easy to fix with a function that looks backward and forward in search of a compatible pattern. This is the result at least in my tests. From it comes a better comb detection that I have yet to hard test. And a bob filter that keeps all the progressive part of the picture. I have yet to implement these. I want to write the filters from scratch because the code is getting noisy and add YV16 and YV24 support. So before I do that please tell me what you guys would like me to add. Last edited by Ceppo; 17th February 2022 at 19:58. |
![]() |
![]() |
![]() |
#18 | Link | |
Registered User
Join Date: Feb 2016
Location: Nonsense land
Posts: 331
|
There is a bug with CDecimate2 instead of taking the odd frame I took the even frame so the 24fps decimation is slightly wrong. I will post the one with the fix tomorrow with the ReadMe file updated.
Quote:
![]() |
|
![]() |
![]() |
![]() |
#19 | Link |
Registered User
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,579
|
I still get "cycle at frame ..." errors
I also note CTelecine2.txt start with 3 "0 0" Code:
0 0 0 0 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0 11 also in case you need more 60i samples https://github.com/pinterf/TIVTC/issues/26
__________________
See My Avisynth Stuff Last edited by real.finder; 18th February 2022 at 00:11. |
![]() |
![]() |
![]() |
#20 | Link |
Registered User
Join Date: Feb 2016
Location: Nonsense land
Posts: 331
|
AvspMod does it wrong, for some reason it calls 3 times the first frame. I use x264 preset very fast. You can still use AvspMod if you edit the file, just delete the duplicates at the beginning since it says 3 times frame 0. You might also want to look at the last frame in the txt file.
Thanks for the sample. Last edited by Ceppo; 18th February 2022 at 01:35. |
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|