世界上最短的DVD解码程序

前些天麻省理工学院的两位学生编写出世界上最短的DVD解码程序,而这个纪录最近被一位名为Charles M Hannum的程序员打破,他所编写的解码程序只有442个字节,而那个七行的Perl解码程序则为472个字节。

Hannum的C程序被叫作:efdtt,据称它的速度相当快,能够达到21.5MBps,在解码时甚至不需要特别进行I/O优化,这样的速度使得该程序在将数据转换为动态图像时完全不会影响MPEG 2的解码处理。

相比两个同样小巧的解码程序,前者支持即时解码与回放,但据说它的输出回放偶尔会不稳定。而Hannum的程序则支持平滑回放。

以下是此程序的源码:

/* efdtt.c Author: Charles M. Hannum <root@ihack.net> */

/* Usage is: cat title-key scrambled.vob | efdtt >clear.vob */

#define K(i)(x[i]^s[i+84])<<

unsigned char x[5],y,z,s[2048];

main(n)

{

for(read(0,x,5);read(0,s,n=2048);write(1,s,n))

if(s[y=s[13]%8+20]/16%4==1)

{

int i=K(1)17^256+K(0)8,k=K(2)0,j=K(4)17^K(3)9^k*2-k%8^8,a=0,b=0,c=26;

for(s[y]-=16;--c;i/=2,j/=2)

a=a*2^i&1,b=b*2^j&1;

for(j=127;++j<n;c=z+c>y)

a^=a>>14,a=a>>8^(y=a^a*8^a<<6)<<9,b=b>>8^(z=b^b/8^b>>4^b>>12)<<17,i=s[j],i="7Wo~'G_/216"[i&7]+2^"cr3sfw6v;

*k+>/n."[i>>4]*2^i*257/8,s[j]=i^(i&i*2&34)*6^z+c+~y;

}

}

世界上最短的DVD解码程序相关推荐

  1. 世界上最短的DVD解码程序(0.5K)

    前些天麻省理工学院的两位学生编写出世界上最短的DVD解码程序,而这个纪录最近被一位名为Charles M Hannum的程序员打破,他所编写的解码程序只有442个字节,而那个七行的Perl解码程序则为 ...

  2. 世界上最短的DVD解码程序(附源码) (转)

    世界上最短的DVD解码程序(附源码) (转)[@more@] 前些天麻省理工学院的两位学生编写出世界上最短的 dvd解码 程序,而这个纪录最近被一位名为Charles M Hannum的程序员打破,他 ...

  3. 世界上最短的DVD解码程序(附源码)

    前些天麻省理工学院的两位学生编写出世界上最短的DVD解码程序,而这个纪录最近被一位名为Charles M Hannum的程序员打破,他所编写的解码程序只有442个字节,而那个七行的Perl解码程序则为 ...

  4. [转载]判断IE浏览器-世界上最短的代码

    最短的IE判定var ie=!-[1,]分析 以前最短的IE判定借助于IE不支持垂直制表符的特性搞出来的. var ie = !+"\v1";仅仅需要7bytes!参见这篇文章,& ...

  5. adguard和adblock哪个好_世界上最高级的广告拦截程序AdGuard过滤规则分享

    世界上最高级的广告拦截程序AdGuard过滤规则分享 2020-01-22 13:49:44 5点赞 80收藏 15评论 创作立场声明:原创心得 ## 前言 我和很多人一样一开始用Maxthon傲游浏 ...

  6. java地铁最短,世界上最短的地铁 600米长的地铁线路

    地铁是现在城市公共交通的主力,自从世界上第一条地铁诞生之后,得益于在地下运行,不占用地面交通资源的优势,现在各大城市都在修建尽可能长的地铁线路,让城市交通更加便利,但是土耳其的一条地铁线路却是大不一样 ...

  7. 世界上只有三种人:程序猿人和男人女人

    世界上只有三种人 7:00am 起床 9:20am 写代码 10:30am 产品经理紧急召开会议 11:30am 跟产品经理进行沟通 14:30pm 测试说代码有Bug 15:30pm 遇到问题向同事 ...

  8. 国产程序员--世界上最牛逼的程序员!

    国产程序员就是这么牛逼 0. 如果软件正在占领全世界,为什么程序员得不到尊重? 遍身罗绮者,不是养蚕人. 1. 中国大陆的盗版Windows系统都是怎么做出来的? 复制.粘贴. 2. 中国梦和美国梦的 ...

  9. 世界手机号码格式_世界上手机号码最长的国家是中国,最短的是哪个国家?

    现在手机普及率非常之高,基本上人手至少一个手机,那么哪个国家的手机号码最长呢?其实世界上最长的电话号码,是11位数的中国手机号码.为什么手机号码是11位呢? 1.号码格式决定 我们的手机号可以分为三段 ...

最新文章

  1. Post和Get方法区别
  2. Delphi下使用OpenOffice+JodConverter+SWFtools进行文件转换
  3. Spring Cloud/Dubbo 应用无缝迁移到 Serverless 架构
  4. boost::fusion::extension::adt_attribute_proxy用法的测试程序
  5. [翻译]“LINQ to Objects”提供程序是否内置性能优化?
  6. [刷题]算法竞赛入门经典(第2版) 4-1/UVa1589 - Xiangqi
  7. python 串口助手 简书_python用pyserial读取串口问题解决
  8. 「PDF Expert」macOS 全能型 PDF 工具,几大能力务必了解下
  9. jquery1.8 获取option的对象进行操作
  10. 【干货】2021短视频营销攻略:短视频内容策略下的5i沟通法则.pdf(附下载链接)...
  11. python抛硬币正面向上概率_Python-计算抛硬币出现连续10次正面朝上的概率的仿真实验...
  12. 爬虫爬当当网书籍信息
  13. WiFi无法连接?解决macOS Big Sur / Mojave / Catalina上的Wi-Fi问题
  14. 华硕路由域名访问_动态域名是什么?
  15. springboot多环境配置--bunny0728
  16. JDBC 的代码逻辑封装
  17. 阿里云 MQ和MNS的区别
  18. 【域泛化综述-2022 TPAMI】Domain Generalization: A Survey
  19. Kotlin 2. Kotlin Suspend 挂起函数
  20. URAL 1513. Lemon Tale(简单的递推)

热门文章

  1. EXCEL表格-图形按钮的创建(超链接)
  2. 简单的基于地理图片的旅行路线还原
  3. 上古卷轴5Java刷补丁,hdt的内存补丁hdtSkyrimMemPatch(减少CTD)【2016/7/9】
  4. Android 10.0 设置充电到50%退出省电模式
  5. Python实现名片管理系统
  6. Matlab—寻找峰值函数介绍
  7. 典型偏差与非典型偏差理解
  8. 光荣使命内测在即,战术竞技品类或成腾讯股价助推器
  9. 服务器关机了怎么办_我们把服务器从1米多的台子上扔下来了,没坏
  10. 酷睿i5 10400核显什么水平 i510400参数怎么样