39 #define BITSTREAM_READER_LE 
   43 #define SMKTREE_BITS 9 
   44 #define SMK_NODE 0x80000000 
   80       1,    2,    3,    4,    5,    6,    7,    8,
 
   81       9,   10,   11,   12,   13,   14,   15,   16,
 
   82      17,   18,   19,   20,   21,   22,   23,   24,
 
   83      25,   26,   27,   28,   29,   30,   31,   32,
 
   84      33,   34,   35,   36,   37,   38,   39,   40,
 
   85      41,   42,   43,   44,   45,   46,   47,   48,
 
   86      49,   50,   51,   52,   53,   54,   55,   56,
 
   87      57,   58,   59,  128,  256,  512, 1024, 2048 };
 
  144         if (i1 < 0 || i2 < 0)
 
  150         } 
else if(val == ctx->
escapes[1]) {
 
  153         } 
else if(val == ctx->
escapes[2]) {
 
  184     VLC vlc[2] = { { 0 } };
 
  189     if(size >= UINT_MAX>>4){ 
 
  222                         tmp1.
lengths, 
sizeof(
int), 
sizeof(
int),
 
  243                         tmp2.
lengths, 
sizeof(
int), 
sizeof(
int),
 
  260     last[0] = last[1] = last[2] = -1;
 
  271     huff.
length = ((size + 3) >> 2) + 4;
 
  312     int mmap_size, mclr_size, full_size, type_size, 
ret;
 
  374     recode[last[0]] = recode[last[1]] = recode[last[2]] = 0;
 
  379     register int *
table = recode;
 
  384             table += (*table) & (~SMK_NODE);
 
  389     if(v != recode[last[0]]) {
 
  390         recode[last[2]] = recode[last[1]];
 
  391         recode[last[1]] = recode[last[0]];
 
  405     int blocks, 
blk, bw, bh;
 
  410     if (avpkt->
size <= 769)
 
  417     pal = (uint32_t*)smk->
pic->
data[1];
 
  419     flags = bytestream2_get_byteu(&gb2);
 
  427     for(i = 0; i < 256; i++)
 
  428         *pal++ = 0xFFU << 24 | bytestream2_get_be24u(&gb2);
 
  438     bw = avctx->
width >> 2;
 
  442     while(blk < blocks) {
 
  450             while(run-- && blk < blocks){
 
  455                 out = smk->
pic->
data[0] + (blk / bw) * (stride * 4) + (blk % bw) * 4;
 
  458                 for(i = 0; i < 4; i++) {
 
  459                     if(map & 1) out[0] = hi; 
else out[0] = lo;
 
  460                     if(map & 2) out[1] = hi; 
else out[1] = lo;
 
  461                     if(map & 4) out[2] = hi; 
else out[2] = lo;
 
  462                     if(map & 8) out[3] = hi; 
else out[3] = lo;
 
  475             while(run-- && blk < blocks){
 
  476                 out = smk->
pic->
data[0] + (blk / bw) * (stride * 4) + (blk % bw) * 4;
 
  479                     for(i = 0; i < 4; i++) {
 
  489                     out[0] = out[1] = pix & 0xFF;
 
  490                     out[2] = out[3] = pix >> 8;
 
  492                     out[0] = out[1] = pix & 0xFF;
 
  493                     out[2] = out[3] = pix >> 8;
 
  496                     out[0] = out[1] = pix & 0xFF;
 
  497                     out[2] = out[3] = pix >> 8;
 
  499                     out[0] = out[1] = pix & 0xFF;
 
  500                     out[2] = out[3] = pix >> 8;
 
  503                     for(i = 0; i < 2; i++) {
 
  520             while(run-- && blk < blocks)
 
  525             while(run-- && blk < blocks){
 
  527                 out = smk->
pic->
data[0] + (blk / bw) * (stride * 4) + (blk % bw) * 4;
 
  528                 col = mode * 0x01010101;
 
  529                 for(i = 0; i < 4; i++) {
 
  530                     *((uint32_t*)out) = col;
 
  622                              int *got_frame_ptr, 
AVPacket *avpkt)
 
  626     int buf_size = avpkt->
size;
 
  629     VLC vlc[4]       = { { 0 } };
 
  636     int pred[2] = {0, 0};
 
  645     if (unp_size > (1
U<<24)) {
 
  660     if (stereo ^ (avctx->
channels != 1)) {
 
  673     samples  = (int16_t *)frame->
data[0];
 
  674     samples8 =            frame->
data[0];
 
  677     for(i = 0; i < (1 << (bits + stereo)); i++) {
 
  684         if (!h[i].bits || !h[i].lengths || !h[i].values) {
 
  694         if(h[i].current > 1) {
 
  696                     h[i].lengths, 
sizeof(
int), 
sizeof(
int),
 
  697                     h[i].bits, 
sizeof(uint32_t), 
sizeof(uint32_t), 
INIT_VLC_LE);
 
  707         for(i = stereo; i >= 0; i--)
 
  709         for(i = 0; i <= stereo; i++)
 
  710             *samples++ = pred[i];
 
  711         for(; i < unp_size / 2; i++) {
 
  732                 val |= h[3].
values[res] << 8;
 
  734                 *samples++ = pred[1];
 
  753                 val |= h[1].
values[res] << 8;
 
  755                 *samples++ = pred[0];
 
  759         for(i = stereo; i >= 0; i--)
 
  761         for(i = 0; i <= stereo; i++)
 
  762             *samples8++ = pred[i];
 
  763         for(; i < unp_size; i++) {
 
  776                 *samples8++ = pred[1];
 
  787                 *samples8++ = pred[0];
 
  796     for(i = 0; i < 4; i++) {