• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/iserver/libav-0.8.8/libavcodec/

Lines Matching refs:tempData

245 static void create_cel_evals(RoqContext *enc, RoqTempdata *tempData)
249 tempData->cel_evals = av_malloc(enc->width*enc->height/64 * sizeof(CelEvaluation));
255 tempData->cel_evals[n ].sourceX = x + (i&1)*8;
256 tempData->cel_evals[n++].sourceY = y + (i&2)*4;
399 int y, RoqContext *enc, RoqTempdata *tempData)
432 tempData->codebooks.unpacked_cb4,
433 tempData->codebooks.numCB4,
439 subcel->subCels[i] = tempData->closest_cb2[cluster_index*4+i];
445 squared_diff_macroblock(tempData->codebooks.unpacked_cb2 + subcel->subCels[i]*2*2*3, mb2, 2);
463 RoqTempdata *tempData)
493 index_mb(mb8, tempData->codebooks.unpacked_cb4_enlarged,
494 tempData->codebooks.numCB4, &cel->cbEntry, 8);
496 gather_data_for_subcel(cel->subCels + 0, cel->sourceX+0, cel->sourceY+0, enc, tempData);
497 gather_data_for_subcel(cel->subCels + 1, cel->sourceX+4, cel->sourceY+0, enc, tempData);
498 gather_data_for_subcel(cel->subCels + 2, cel->sourceX+0, cel->sourceY+4, enc, tempData);
499 gather_data_for_subcel(cel->subCels + 3, cel->sourceX+4, cel->sourceY+4, enc, tempData);
520 tempData->used_option[cel->best_coding]++;
521 tempData->mainChunkSize += bitsUsed[cel->best_coding];
524 tempData->codebooks.usedCB4[cel->cbEntry]++;
529 tempData->codebooks.usedCB4[cel->subCels[i].cbEntry]++;
532 tempData->codebooks.usedCB2[cel->subCels[i].subCels[j]]++;
536 static void remap_codebooks(RoqContext *enc, RoqTempdata *tempData)
542 if (tempData->codebooks.usedCB4[i]) {
543 tempData->i2f4[i] = idx;
544 tempData->f2i4[idx] = i;
546 tempData->codebooks.usedCB2[enc->cb4x4[i].idx[j]]++;
551 tempData->numCB4 = idx;
555 if (tempData->codebooks.usedCB2[i]) {
556 tempData->i2f2[i] = idx;
557 tempData->f2i2[idx] = i;
561 tempData->numCB2 = idx;
568 static void write_codebooks(RoqContext *enc, RoqTempdata *tempData)
573 if (tempData->numCB2) {
575 bytestream_put_le32(outp, tempData->numCB2*6 + tempData->numCB4*4);
576 bytestream_put_byte(outp, tempData->numCB4);
577 bytestream_put_byte(outp, tempData->numCB2);
579 for (i=0; i<tempData->numCB2; i++) {
580 bytestream_put_buffer(outp, enc->cb2x2[tempData->f2i2[i]].y, 4);
581 bytestream_put_byte(outp, enc->cb2x2[tempData->f2i2[i]].u);
582 bytestream_put_byte(outp, enc->cb2x2[tempData->f2i2[i]].v);
585 for (i=0; i<tempData->numCB4; i++)
587 bytestream_put_byte(outp, tempData->i2f2[enc->cb4x4[tempData->f2i4[i]].idx[j]]);
623 static void reconstruct_and_encode_image(RoqContext *enc, RoqTempdata *tempData, int w, int h, int numBlocks)
640 if (tempData->used_option[RoQ_ID_CCC]%2)
641 tempData->mainChunkSize+=8; //FIXME
645 bytestream_put_le32(&enc->out_buf, tempData->mainChunkSize/8);
650 eval = tempData->cel_evals + i;
670 bytestream_put_byte(&spool.args, tempData->i2f4[eval->cbEntry]);
702 tempData->i2f4[eval->subCels[j].cbEntry]);
720 tempData->i2f2[cb_idx]);
827 static void generate_new_codebooks(RoqContext *enc, RoqTempdata *tempData)
830 RoqCodebooks *codebooks = &tempData->codebooks;
848 generate_codebook(enc, tempData, points, max, results4, 4, MAX_CBS_4x4);
852 tempData->closest_cb2 = av_malloc(max*4*sizeof(int));
855 generate_codebook(enc, tempData, points, max*4, enc->cb2x2, 2, MAX_CBS_2x2);
883 RoqTempdata *tempData = enc->tmpData;
886 memset(tempData, 0, sizeof(*tempData));
888 create_cel_evals(enc, tempData);
890 generate_new_codebooks(enc, tempData);
899 gather_data_for_cel(tempData->cel_evals + i, enc, tempData);
902 if (tempData->mainChunkSize/8 > 65535) {
906 tempData->mainChunkSize/8);
908 tempData->mainChunkSize = 0;
909 memset(tempData->used_option, 0, sizeof(tempData->used_option));
910 memset(tempData->codebooks.usedCB4, 0,
911 sizeof(tempData->codebooks.usedCB4));
912 memset(tempData->codebooks.usedCB2, 0,
913 sizeof(tempData->codebooks.usedCB2));
918 remap_codebooks(enc, tempData);
920 write_codebooks(enc, tempData);
922 reconstruct_and_encode_image(enc, tempData, enc->width, enc->height,
932 av_free(tempData->cel_evals);
933 av_free(tempData->closest_cb2);