  * @return 0 if succeeds, otherwise nonzero
  */
 __device__ int
-gpujpeg_huffman_gpu_encoder_encode_block(int & put_value, int & put_bits, int & dc, int16_t* data, uint8_t* & data_compressed, 
+gpujpeg_huffman_gpu_encoder_encode_block(int & put_value, int & put_bits, int & dc, int* data, uint8_t* & data_compressed, 
     struct gpujpeg_table_huffman_encoder* d_table_dc, struct gpujpeg_table_huffman_encoder* d_table_ac)
 {
     // Encode the DC coefficient difference per section F.1.2.1

    int r = 0;
    for ( int k = 1; k < 64; k++ ) 
    {
        temp = data[gpujpeg_huffman_gpu_encoder_order_natural[k]];
        if ( temp == 0 ) {
            r++;
        }

            put_bits = 0;
            out_size = 1;
        }
        result = gpujpeg_huffman_gpu_encoder_encode_block(put_value, put_bits, dc, s_in, data_compressed, d_table_dc, d_table_ac);
    }
    return __ballot(result);
    
    

//     
//     // compute count of consecutive zeros before even value
//     // TODO: reimplement after getting it all to work
