@292 Luma # c & tr.1s(1,1) vlc=3 #c=3 #t1=1 001001 ( 3)
@298 Luma trailing ones sign (1,1) 1 ( 1)
@299 Luma lev (1,1) k=1 vlc=0 lev= 2 1 ( 1)
@300 Luma lev (1,1) k=0 vlc=1 lev= 7 00000010 ( 7)
@308 Luma totalrun (1,1) vlc=2 totzeros= 3 101 ( 3)
@311 Luma run (1,1) k=2 vlc=2 run= 0 11 ( 0)
@313 Luma run (1,1) k=1 vlc=2 run= 3 00 ( 3)
@315 Luma # c & tr.1s(2,0) vlc=3 #c=12 #t1=3 101111 ( 12)
@298 Luma trailing ones sign (1,1) 1 ( 1)
@299 Luma lev (1,1) k=1 vlc=0 lev= 2 1 ( 1)
@300 Luma lev (1,1) k=0 vlc=1 lev= 7 00000010 ( 7)
@308 Luma totalrun (1,1) vlc=2 totzeros= 3 101 ( 3)
@311 Luma run (1,1) k=2 vlc=2 run= 0 11 ( 0)
@313 Luma run (1,1) k=1 vlc=2 run= 3 00 ( 3)
@315 Luma # c & tr.1s(2,0) vlc=3 #c=12 #t1=3 101111 ( 12)
vlc=3 就是用的 8 <= nC 这一列
lev 后面括号里的两个数是:4*4 块横坐标 , 4*4 块纵坐标
k :第几个非零系数
vlc:就是标准(200503版)/第 9 章提到的 suffixLength,也就是 JM86 中的变量 vlcnum
lev:非零系数值
后面括号外面的是当前非零系数编码后的值的二进制表示,括号内的我记得是编码后的值的十进制表示
以上对应 JM86 代码中如下代码:
snprintf(currSE->tracestring, TRACESTRING_SIZE, "%s lev (%d,%d) k=%d vlc=%d lev=%3d", type, subblock_x, subblock_y, k, vlcnum, level);