摘要:
<...> 阅读全文
摘要:
The core of TMN5 is the virtual buffer, the size of which is specified by r = alpha * bits_per_frame, where alpha is the multiple, typically 2. The larger value of alpha provides larger dynamical range, but less adjustment sensitivity. The current fullness of the buffer 'd' serves as the ref 阅读全文
摘要:
Item PDF DJVU Description of Layout Driven by (a subset of) PostScript ... 阅读全文
摘要:
The purpose of the following code i wrote is to test the feasibility and efficiency ofa surface object for regulatingbending of light (refract or reflect)in a ray-trace simulator. The first method which looks ugly shows the mechanism straightforwardly. The second uses multi-inheritance in a weird st 阅读全文
摘要:
本章讨论的代码主要位于common/predict.c中。x264_macroblock_cache_load函数在每个宏块解码之前初始化某些状态,在x264_slice_write函数的宏块处理循环中被调用。i_mb_xy: 当前宏块的索引i_mb_4x4: 当前宏块中第一个4x4块的索引i_mb_8x8: 当前宏块中第一个8x8块的索引i_top_y: 上方宏块的y索引i_top_xy: 上方宏块的索引i_top_4x4: 当前宏块中第一个4x4块上方的4x4块的索引i_top_8x8: 当前宏块中第一个8x8块上方的8x8块的索引这里首先初始化和当前宏块毗邻的已解码块。这里用到x264_ 阅读全文
摘要:
12个球,其中一个质量和其余的不同,用一个无砝码的天平最多分3次称出。以前考虑过,但好像最终没得出详细结论,这次再想了一下,大致如下解法:任取8个,对等称if 平衡 异常发生在其余4个,取其中2个置左和2个正常的比较 if 平衡 未取出的2个任取1个和正常的比即可知道结果 else 取出的2个互比,即可得到结果 endifelse 不妨设左边轻,取8个中左右各3个,其中互换1对, 右边的另某1个用剩余4个(正常)中的1个换出,然后称 if 平衡 异常发生在换出者(可能重)或剩余未比较的两者(一个可重,一个可轻) 将两个“可重”的比较,如平衡,则异常为“可轻”,否则为比较的重者。 else .. 阅读全文
摘要:
这里主要有一下几个过程:1. 初始化h->stat.frame,即全部清零。2. 写条带头:x264_slice_header_write,即把刚才x264_slice_header_init设置的一些参数写入。3. 如果是CABAC编码,则初始化CABAC。有关CABAC在后续相关章节讨论。4. 遍历一帧中的所有宏块,这是编码的主要部分:for( mb_xy = h->sh.i_first_mb, i_skip = 0; mb_xy < h->sh.i_last_mb; )其中sh.i_first_mb和sh.i_last_mb在x264_slice_header_i 阅读全文
摘要:
H.264标准写得比较繁复,所以考虑在浏览完Whitepaper之后就开始研读X264代码。X264代码风格还是比较清晰简洁的。根据对标准的理解,Picture Order Count在Slice解码的一开始就被提及:I0 B1 B2 P3 B4 B5 P6I0 P3 B1 B2 P6 B4 B5于是I0的POC是0,P3的POC是3,B1是1……为了支持H264复杂的帧存机制,X264以专门的一个模块frame.c进行处理。common/frame.c中包括一组帧缓冲操作函数。包括对帧进行FILO和FIFO存取,空闲帧队列的相应操作等。以下逐个函数分析encoder.c中编码一帧的函数x26 阅读全文
摘要:
在图形学坐标变换中,绕轴旋转是非常重要和常见的,例如在生成Camera和World的变换关系时广泛使用。以前曾得到过这个变换公式,但已经忘了是如何导出的,甚或是直接抄来的。现在索性重新推导一遍。设轴的矢量为[x, y, z]为构成右手系A系,需要补充两个正交向量:[e, f, g][u, v, w]根据右手系,有以下关系:u = y*g-z*fv = z*e-x*gw = x*f-y*ee = v*z-w*yf = w*x-u*zg = u*y-v*xx = f*w-g*vy = g*u-e*wz = e*v-f*u由A系到原坐标系的坐标变换矩阵是:A = [e, u, x; f, v, y; 阅读全文
摘要:
IEEE 754规定浮点数值表示:x = s * m * 2^e其中s为符号,m是[1, 2)中的小数量值,e是指数。不计符号,于是:log(2, x) = log(2, m) + e近似地:log(2, x) = e编码后的浮点数表示为(S, E(K), M(N))三元组,其中符号:s = (-1)*S量值:m = 1 + M / 2^N指数:e = E - 2^(K - 1) + 1对于单精度类型float,K = 8, N = 23,总共占据32比特。例如,对于编码后双字:0x3dcccccd,分解为S = 0(2) = 0E = 01111011(2) = 123M = 1001100 阅读全文