int main() { int to_test[] = {0, 5, 7}; int current; for (int i = 0; i < 3 ; i++) { current = to_test[i]; printf("get_bit_count(%d) = %d\n", current, get_bit_count(current)); } }
static int encode_frame(AVCodecContext *avctx, unsigned char *buf, int buf_size, void *data){ CLJRContext * const a = avctx->priv_data; AVFrame *pict = data; AVFrame * const p= (AVFrame*)&a->picture; int size; *p = *pict; p->pict_type= FF_I_TYPE; p->key_frame= 1; emms_c(); align_put_bits(&a->pb); while(get_bit_count(&a->pb)&31) put_bits(&a->pb, 8, 0); size= get_bit_count(&a->pb)/32; return size*4; }
MAPCHIP::MAPCHIP(char* chip_name) { p_chip_data = NULL; m_data_size = -1; FILE* fp; if((fp = fopen(chip_name, "rb")) == NULL){ printf("mapchip open error (%s)\n", chip_name); return ; } else{ m_chip_name = (char*)malloc(strlen(chip_name)+1); strcpy(m_chip_name, chip_name); fseek(fp, 0, SEEK_END); m_data_size = ftell(fp); fseek(fp, 0, SEEK_SET); p_chip_data = (UC*)malloc(m_data_size); fread(p_chip_data, m_data_size, 1, fp); fclose(fp); } printf("<map chip data>\n"); printf("bfSize : %d\n", get_bfSize()); //printf("data_size : %d\n", m_data_size); printf("width : %d\n", get_width()); printf("height : %d\n", get_height()); printf("info header size: %d\n", get_bi_size()); printf("bit count : %d\n", get_bit_count()); printf("chip num : %d\n", get_chip_num()); printf("\n"); if(get_bi_size() != 40){ printf("error invalid info header!!\n"); exit(0); } if(get_bit_count() != 24){ printf("error input 24bit format bitmap image!!\n"); exit(0); } m_last_chip_idx = get_chip_num(); }