NMM视频技术(旧)

 找回密码
 成为会员
搜索
查看: 8990|回复: 7

Avisynth EP Script: ClipSlice_old v0.51 beta 10/09/01更新

  [复制链接]
发表于 2010-5-19 21:18 | 显示全部楼层 |阅读模式
本帖最后由 Yuricon 于 2010-9-1 02:53 编辑

几个月前第一次写的一个蛋疼脚本,无任何技术含量
功能见代码里面的注释
目前个人测试的结果感觉良好,除了某些特殊的脚本在单帧处理模式下会崩溃
比如SharpAAMCmod,原因在于mvtools,当然,也可以加一个类似于
  1. test=eval("clip.trim(s,(e+1))"+p1)
  2. test2=test.trim(0,-1)
复制代码
这样的算法去解决这个问题,不过最近没空去改,以及测试
AVS还在学习中,有些地方可能写的比较笨拙,还请见谅

嘛...以前要想算法所以写得很繁琐,有些地方很多余,这次重新修改了整体的结构,对代码进行了简化和优化,相信以后扩展性上会更好更方便

注意:如果重复使用该脚本,并引用太多BT脚本滤镜的话,可能导致压制速度变慢,严重可能崩溃,不过在某些极限环境下测试结果是30多个应该是没什么问题的(爆内存除外)
关于必须总帧数≥3帧这个问题,已经在0.50以及新版的1.00中解决

本脚本纯属抛砖引玉,如果您有更好的想法算法,可以在回帖中给出建议,您也可以直接在回帖中给出自己的修改版本,欢迎大家测试以及报错(虽然一些BUG短期内会因为时间以及技术上的问题而得不到修复)

----------------------------------ClipSlice的功能----------------------------------

ClipSlice是一个结合了Clip+Slice双重功能的蛋疼脚本
可引用外部滤镜以及脚本来进行Clip以及Slice的菊部处理
省去了您繁琐的trim和overlay等步骤

----------------------------------ClipSlice的更新日志----------------------------------

2010/09/01 ClipSlice_old v 0.51 beta
修正了一处隐患BUG,解决了EP1即使帧数大于1也不能用tdecimate等必须帧数大于1的滤镜和脚本的问题
但如果是实际上帧数不能满足某些滤镜脚本的使用条件的话还是无法使用

2010/08/24 ClipSlice_old v 0.50 beta
修改了ClipSlice旧版的函数名,改为ClipSlice_old
修改了合并判断机制,现在使用新版的判断机制,解决了总帧数必须>=3的缺陷
更新了内置的ClipSlice_debug的版本到0.50
增加了自动同步帧率的功能,自动同步到处理后的cp段帧率
增加了一些错误提示 (感谢Google Translate服务的英文翻译)

2010/08/04 ClipSlice v 1.10 beta
增加了RRE的功能,并且比RRE更加强大,在帧段替换的基础上还能进行切片替换
增加了cs ce clip2 RREmode 4个RRE功能相关参数
增加了若干RRE功能相关的错误提示 (感谢Google Translate服务的英文翻译)

2010/07/26 ClipSlice v 1.00 beta (这是ClipSlice一个全新的版本)
修改了几乎全部的判断代码,整体结构重建,实现模块化,并且解决了总帧数必须>=3的缺陷
Clip+Slice,Clip部分单独作为一个函数EPClip,Slice部分单独作为一个函数EPSlice
而ClipSlice则是合体版,单独使用其中一种功能时,建议使用独立函数
当然用合体版也可以,可能会比单独函数的要慢一点(理论上)
不过要用Clip+Slice功能时,合体版可能会更快(理论上)
单独的函数也能互相结合使用
修改了ClipSlice_Debug,并对ClipSlice_Debug相关代码做了调整,详细见ClipSlice_Debug更新日志
增加了color参数,ClipSlice_Debug相关,详细见ClipSlice_Debug更新日志
增加了cpmode epmode spmode cspmode 4个控制先后次序相关参数
增加了英文错误提示 (感谢Google Translate服务)

2010/07/09 ClipSlice v 0.41 beta (这是一个未公开的版本)
修改了ClipSlice_Debug,并对ClipSlice_Debug相关代码做了调整,详细见ClipSlice_Debug更新日志

2010/06/30 ClipSlice v 0.40 beta
增加了"debug"参数,主要用来调试切片,开启后能更加直观的看到切片范围
debug功能可以单独用clipslice_debug调用,参数见下方使用范例
由于Layer的限制,加上写得比较仓促,所以目前只支持YV12 YUY2 RGB32输入
其中YV12输入在开启debug后会进行2次颜色空间转换
因此会产生一些颜色损失,由于只是进行切片调试,所以也没太大影响
关闭debug模式后将不会受到任何影响

2010/06/20 ClipSlice v 0.31  beta
修改了空参数的默认值,由"nop()"改回"crop(0,0,0,0)",也许是由于写法上的错误
"nop()"无法正常工作,但还是感谢cunhan的提议

2010/06/20 ClipSlice v 0.30  beta
增加了"ep1" "ep2"参数,这两个参数主要用来引用外部或内部滤镜脚本对非clip部分
进行操作(吐槽参数名什么的...都去RouRouE)
修改了空参数的默认值,由"crop(0,0,0,0)"改为"nop()"(感谢cunhan)

2010/05/20 ClipSlice v 0.20s beta (别吐槽版本号)
修改了全部代码结构,优化了整体代码,但功能不变
修改了错误提示功能,现在改用MessageClip来实现
修改了部分注释

2010/05/16 ClipSlice v 0.20 beta
增加了"cp"参数,这个参数主要用来引用外部或内部滤镜脚本对clip部分进行操作
增加这个参数主要是为了解决对clip段落进行trim等改变帧数却不改变帧率的操作
对于IVTC这类同时影响帧数帧率的操作暂时不支持
修改了"p1" "p2"参数名,改为"sp1" "sp2",纯属为了以后的扩展性
修改了一些相关注释(感谢真红的英语提示部分翻译)

2010/03/16 ClipSlice v 0.10 beta
ClipSlice诞生


NMM DOC
http://www.nmm-hd.org/doc/ClipSlice
新版本
http://www.nmm-hd.org/bbs/thread-1201-1-1.html

clipslice.v0.51.rar (6.29 KB, 下载次数: 18161)

评分

1

查看全部评分

 楼主| 发表于 2010-8-24 22:12 | 显示全部楼层
ClipSlice_old v0.50 beta update
发表于 2010-5-19 21:33 | 显示全部楼层
菊部处理美~
大致看了一下,您这么弄简直是太爆E了……
 楼主| 发表于 2010-5-20 13:30 | 显示全部楼层
EP的E么XD
 楼主| 发表于 2010-5-20 15:35 | 显示全部楼层
本帖最后由 Yuricon 于 2010-5-20 20:59 编辑

ClipSlice v0.20s 更新
发表于 2010-6-12 15:06 | 显示全部楼层
本帖最后由 cunhan 于 2010-6-12 15:07 编辑

在翻看avs doc的时候,看到有个NOP()函数。
这是不是比crop(0,0,0,0)更直观地表达无操作的意图呢
 楼主| 发表于 2010-6-20 23:13 | 显示全部楼层
回复 cunhan 的帖子
直接替换crop后就报错,看来还有待研究XD
 楼主| 发表于 2010-9-1 02:55 | 显示全部楼层
好像很早就发现了今天更新的这个问题,不过似乎没有有效的去解决OTZ
ClipSlice_old v0.51 beta update
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

小黑屋|手机版|NMM视频技术

GMT+8, 2024-3-29 07:54 , Processed in 0.094918 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表