『漫游』酷论坛>『影音数码技术学习交流』>[分享]利用ConditionalFilt ..

Yuricon@2010-11-13 23:43

我不是大大啊OTZ
只会用avs做各种EP的事情罢了...
引用

06_taro@2010-11-13 23:56

EP的萬國博覽秀……
引用

linuxyouxia@2010-11-14 09:43

不EP不行啊 有些观众可是会EP到下多个Raw到逐帧对比的啊

以上说笑 勿当真
引用

Yuricon@2010-11-14 10:21

引用
最初由 linuxyouxia 发布
不EP不行啊 有些观众可是会EP到下多个Raw到逐帧对比的啊

以上说笑 勿当真

他们需要MYEPTools里的MoMoE
引用

linuxyouxia@2010-11-14 10:27

引用
最初由 Yuricon 发布

他们需要MYEPTools里的MoMoE

其实avs本身也提供了一个对比函数

Compare(clip_filtered clip, clip_original clip, string channels, string logfile, bool show_graph)

还有个
Subtract(clip1 clip, clip2 clip)

Subtract produces an output clip in which every pixel is set according to the difference between the corresponding pixels in clip1 and clip2. More specifically, it sets each pixel to (50% grey) + (clip1 pixel) - (clip2 pixel). You can use Levels afterwards if you want to increase the contrast.

嘛 EP无止境 话说破沟有EP交流群吗:D
引用

Yuricon@2010-11-14 10:39

这和MME性质不一样吧...
引用

linuxyouxia@2010-11-14 10:47

引用
最初由 Yuricon 发布
这和MME性质不一样吧...

是不一样 但是也是一种对比的选择

实现同一目的或类似目的 可以有不同的选择

所以如果俺的方法行不通的时候 俺也会用大大的脚本 因为俺懒嘛 有现成的就用现成的
比如某一段需要对画中画处理 那么直接在俺自己的方法上加一行 调用大大编写的脚本

大大完全可以另开一帖在POPGO推广EP脚本 让POPGO一些不去NMM的群众不需要进俺的主题 就能了解大大写的脚本的优点 小弟一定捧场

小弟没有任何贬低大大写的脚本的意思 如果先前说的话有所冒犯 还请多多包涵:)
引用

Yuricon@2010-11-14 11:08

MME重点在于双屏显示来更直观的进行视觉对比,这点上已经和Subtract之类的不同了
其实也就是利用overlay罢了,都这么久了,我自己也没怎么用过(拖
EP乃罪过啊....
引用

linuxyouxia@2010-11-14 11:12

其实之前对比都是用Interleave(clip1.Subtitle("clip1"),clip2.Subtitle("clip2"))

这样VD预览时 按方向键在前后帧来回切换就能方便得看出不同了
引用

Yuricon@2010-11-14 11:34

这方法也不错,其实你还可以加个ShowFrameNumber
引用

upyzl@2010-11-14 11:40

其实以前一直想问了
EP的全称是啥?
Extreme P????
引用

yuugi@2010-11-14 11:55

引用
最初由 upyzl 发布
其实以前一直想问了
EP的全称是啥?
Extreme P????


蛋+疼
http://popgo.net/wiki/%E6%89%80%E8%B0%93EP
引用

linuxyouxia@2010-11-14 14:00

引用
最初由 Yuricon 发布
这方法也不错,其实你还可以加个ShowFrameNumber

这个主意真好:) 谢大大指点
引用

-o-o-304-o-o-@2010-11-15 07:34

EP就是中文直译过来的egg pain饿(捂脸

于是路过学习了。
引用

linuxyouxia@2011-04-27 20:41

无聊改了下tivtc中的tfm,当display=true时通过消息列队把场景切换帧帧号和交错帧帧号 发送给MyVDIVTC
MyVDIVTC CheckListBox中双击帧号,通过发送消息方式操作VD界面跳转到该帧

tfm函数初始化时,通过FindWindowEx搜索标题为 MyVDIVTC 的窗口 获取MyVDIVTC的窗口句柄

代码尚未整理,凑合着用似乎没问题

http://dl.dbank.com/c08u5ftvot

复制代码
  1. diff -C 3 B/TFM.cpp A/TFM.cpp
  2. *** B/TFM.cpp    2008-01-17 13:01:06.000000000 +0800
  3. --- A/TFM.cpp    2011-04-27 14:12:56.000000000 +0800
  4. ***************
  5. *** 537,542 ****
  6. --- 537,543 ----
  7.           int blockN, int xblocks, bool d2vmatch, int *mics, PVideoFrame &prv,
  8.           PVideoFrame &src, PVideoFrame &nxt, IScriptEnvironment *env)
  9.   {
  10. +     bool isSC;
  11.       if (combed > 1 && PP > 1) return;
  12.       if (combed > 1 && PP == 1 && blockN != -20)
  13.       {
  14. ***************
  15. *** 552,563 ****
  16.           sprintf(buf, "order = %d  field = %d  mode = %d ", order, field, mode);
  17.       if (np == 3) DrawYV12(dst, 0, 1, buf);
  18.       else DrawYUY2(dst, 0, 1, buf);
  19.       if (!over && !d2vmatch) sprintf(buf, "frame: %d  match = %c %s", n, MTC(fmatch),
  20. !         ((ubsco || mmsco || flags == 5) && checkSceneChange(prv, src, nxt, env, n)) ? " (SC) " : "");
  21.       else if (d2vmatch) sprintf(buf, "frame: %d  match = %c (D2V) %s", n, MTC(fmatch),
  22. !         ((ubsco || mmsco || flags == 5) && checkSceneChange(prv, src, nxt, env, n)) ? " (SC) " : "");
  23.       else sprintf(buf, "frame: %d  match = %c (OVR) %s", n, MTC(fmatch),
  24. !         ((ubsco || mmsco || flags == 5) && checkSceneChange(prv, src, nxt, env, n)) ? " (SC) " : "");
  25.       if (np == 3) DrawYV12(dst, 0, 2, buf);
  26.       else DrawYUY2(dst, 0, 2, buf);
  27.       int i = 3;
  28. --- 553,565 ----
  29.           sprintf(buf, "order = %d  field = %d  mode = %d ", order, field, mode);
  30.       if (np == 3) DrawYV12(dst, 0, 1, buf);
  31.       else DrawYUY2(dst, 0, 1, buf);
  32. +     isSC = checkSceneChange(prv, src, nxt, env, n);
  33.       if (!over && !d2vmatch) sprintf(buf, "frame: %d  match = %c %s", n, MTC(fmatch),
  34. !         ((ubsco || mmsco || flags == 5) && isSC) ? " (SC) " : "");
  35.       else if (d2vmatch) sprintf(buf, "frame: %d  match = %c (D2V) %s", n, MTC(fmatch),
  36. !         ((ubsco || mmsco || flags == 5) && isSC) ? " (SC) " : "");
  37.       else sprintf(buf, "frame: %d  match = %c (OVR) %s", n, MTC(fmatch),
  38. !         ((ubsco || mmsco || flags == 5) && isSC) ? " (SC) " : "");
  39.       if (np == 3) DrawYV12(dst, 0, 2, buf);
  40.       else DrawYUY2(dst, 0, 2, buf);
  41.       int i = 3;
  42. ***************
  43. *** 606,611 ****
  44. --- 608,633 ----
  45.           if (np == 3) DrawYV12(dst, 0, i, buf);
  46.           else DrawYUY2(dst, 0, i, buf);
  47.       }
  48. +
  49. +     if ((MyVDIVTC == NULL) || ((!isSC) && (combed == 0)))
  50. +     {
  51. +         return;
  52. +     } else
  53. +     if ((combed != 0) && isSC)
  54. +     {
  55. +         SendMessage(MyVDIVTC, WM_USER+100, n, 0);
  56. +     } else
  57. +     if ((combed != 0) && (!isSC))
  58. +     {
  59. +         SendMessage(MyVDIVTC, WM_USER+100, n, 1);
  60. +     } else
  61. +     if ((combed == 0) && isSC)
  62. +     {
  63. +         SendMessage(MyVDIVTC, WM_USER+100, n, 2);
  64. +        
  65. +     }
  66. +
  67. +
  68.   }
  69.   
  70.   void TFM::getSettingOvr(int n)
  71. ***************
  72. *** 2316,2321 ****
  73. --- 2338,2347 ----
  74.           sprintf(buf, "TFM:  %s by tritical\n", VERSION);
  75.           OutputDebugString(buf);
  76.       }
  77. +     if (display)
  78. +     {
  79. +         MyVDIVTC = FindWindowEx(NULL,NULL,NULL,"MyVDIVTC");
  80. +     }
  81.       child->SetCacheHints(CACHE_RANGE, 3); // fixed to diameter (07/30/2005)
  82.       lastMatch.frame = lastMatch.field = lastMatch.combed = lastMatch.match = -20;
  83.       nfrms = vi.num_frames-1;
  84. diff -C 3 B/TFM.h A/TFM.h
  85. *** B/TFM.h    2008-01-17 13:01:28.000000000 +0800
  86. --- A/TFM.h    2011-04-26 12:38:22.000000000 +0800
  87. ***************
  88. *** 92,97 ****
  89. --- 92,98 ----
  90.       int tpitchy, tpitchuv, *moutArray, *moutArrayE;
  91.       MTRACK lastMatch;
  92.       SCTRACK sclast;
  93. +     HWND MyVDIVTC;
  94.       double scthresh;
  95.       char buf[4096], outputFull[270], outputCFull[270];
  96.       PlanarFrame *map, *cmask;
引用

«123»共3页

| TOP