世界上最短的DVD解码程序
世界上最短的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解码程序相关推荐
- 世界上最短的DVD解码程序(0.5K)
前些天麻省理工学院的两位学生编写出世界上最短的DVD解码程序,而这个纪录最近被一位名为Charles M Hannum的程序员打破,他所编写的解码程序只有442个字节,而那个七行的Perl解码程序则为 ...
- 世界上最短的DVD解码程序(附源码) (转)
世界上最短的DVD解码程序(附源码) (转)[@more@] 前些天麻省理工学院的两位学生编写出世界上最短的 dvd解码 程序,而这个纪录最近被一位名为Charles M Hannum的程序员打破,他 ...
- 世界上最短的DVD解码程序(附源码)
前些天麻省理工学院的两位学生编写出世界上最短的DVD解码程序,而这个纪录最近被一位名为Charles M Hannum的程序员打破,他所编写的解码程序只有442个字节,而那个七行的Perl解码程序则为 ...
- [转载]判断IE浏览器-世界上最短的代码
最短的IE判定var ie=!-[1,]分析 以前最短的IE判定借助于IE不支持垂直制表符的特性搞出来的. var ie = !+"\v1";仅仅需要7bytes!参见这篇文章,& ...
- adguard和adblock哪个好_世界上最高级的广告拦截程序AdGuard过滤规则分享
世界上最高级的广告拦截程序AdGuard过滤规则分享 2020-01-22 13:49:44 5点赞 80收藏 15评论 创作立场声明:原创心得 ## 前言 我和很多人一样一开始用Maxthon傲游浏 ...
- java地铁最短,世界上最短的地铁 600米长的地铁线路
地铁是现在城市公共交通的主力,自从世界上第一条地铁诞生之后,得益于在地下运行,不占用地面交通资源的优势,现在各大城市都在修建尽可能长的地铁线路,让城市交通更加便利,但是土耳其的一条地铁线路却是大不一样 ...
- 世界上只有三种人:程序猿人和男人女人
世界上只有三种人 7:00am 起床 9:20am 写代码 10:30am 产品经理紧急召开会议 11:30am 跟产品经理进行沟通 14:30pm 测试说代码有Bug 15:30pm 遇到问题向同事 ...
- 国产程序员--世界上最牛逼的程序员!
国产程序员就是这么牛逼 0. 如果软件正在占领全世界,为什么程序员得不到尊重? 遍身罗绮者,不是养蚕人. 1. 中国大陆的盗版Windows系统都是怎么做出来的? 复制.粘贴. 2. 中国梦和美国梦的 ...
- 世界手机号码格式_世界上手机号码最长的国家是中国,最短的是哪个国家?
现在手机普及率非常之高,基本上人手至少一个手机,那么哪个国家的手机号码最长呢?其实世界上最长的电话号码,是11位数的中国手机号码.为什么手机号码是11位呢? 1.号码格式决定 我们的手机号可以分为三段 ...
最新文章
- Post和Get方法区别
- Delphi下使用OpenOffice+JodConverter+SWFtools进行文件转换
- Spring Cloud/Dubbo 应用无缝迁移到 Serverless 架构
- boost::fusion::extension::adt_attribute_proxy用法的测试程序
- [翻译]“LINQ to Objects”提供程序是否内置性能优化?
- [刷题]算法竞赛入门经典(第2版) 4-1/UVa1589 - Xiangqi
- python 串口助手 简书_python用pyserial读取串口问题解决
- 「PDF Expert」macOS 全能型 PDF 工具,几大能力务必了解下
- jquery1.8 获取option的对象进行操作
- 【干货】2021短视频营销攻略:短视频内容策略下的5i沟通法则.pdf(附下载链接)...
- python抛硬币正面向上概率_Python-计算抛硬币出现连续10次正面朝上的概率的仿真实验...
- 爬虫爬当当网书籍信息
- WiFi无法连接?解决macOS Big Sur / Mojave / Catalina上的Wi-Fi问题
- 华硕路由域名访问_动态域名是什么?
- springboot多环境配置--bunny0728
- JDBC 的代码逻辑封装
- 阿里云 MQ和MNS的区别
- 【域泛化综述-2022 TPAMI】Domain Generalization: A Survey
- Kotlin 2. Kotlin Suspend 挂起函数
- URAL 1513. Lemon Tale(简单的递推)