• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/minidlna/ffmpeg-2.3.4/libavcodec/

Lines Matching refs:tempData

248 static void create_cel_evals(RoqContext *enc, RoqTempdata *tempData)
252 tempData->cel_evals = av_malloc_array(enc->width*enc->height/64, sizeof(CelEvaluation));
258 tempData->cel_evals[n ].sourceX = x + (i&1)*8;
259 tempData->cel_evals[n++].sourceY = y + (i&2)*4;
402 int y, RoqContext *enc, RoqTempdata *tempData)
435 tempData->codebooks.unpacked_cb4,
436 tempData->codebooks.numCB4,
442 subcel->subCels[i] = tempData->closest_cb2[cluster_index*4+i];
448 squared_diff_macroblock(tempData->codebooks.unpacked_cb2 + subcel->subCels[i]*2*2*3, mb2, 2);
466 RoqTempdata *tempData)
496 index_mb(mb8, tempData->codebooks.unpacked_cb4_enlarged,
497 tempData->codebooks.numCB4, &cel->cbEntry, 8);
499 gather_data_for_subcel(cel->subCels + 0, cel->sourceX+0, cel->sourceY+0, enc, tempData);
500 gather_data_for_subcel(cel->subCels + 1, cel->sourceX+4, cel->sourceY+0, enc, tempData);
501 gather_data_for_subcel(cel->subCels + 2, cel->sourceX+0, cel->sourceY+4, enc, tempData);
502 gather_data_for_subcel(cel->subCels + 3, cel->sourceX+4, cel->sourceY+4, enc, tempData);
523 tempData->used_option[cel->best_coding]++;
524 tempData->mainChunkSize += bitsUsed[cel->best_coding];
527 tempData->codebooks.usedCB4[cel->cbEntry]++;
532 tempData->codebooks.usedCB4[cel->subCels[i].cbEntry]++;
535 tempData->codebooks.usedCB2[cel->subCels[i].subCels[j]]++;
539 static void remap_codebooks(RoqContext *enc, RoqTempdata *tempData)
545 if (tempData->codebooks.usedCB4[i]) {
546 tempData->i2f4[i] = idx;
547 tempData->f2i4[idx] = i;
549 tempData->codebooks.usedCB2[enc->cb4x4[i].idx[j]]++;
554 tempData->numCB4 = idx;
558 if (tempData->codebooks.usedCB2[i]) {
559 tempData->i2f2[i] = idx;
560 tempData->f2i2[idx] = i;
564 tempData->numCB2 = idx;
571 static void write_codebooks(RoqContext *enc, RoqTempdata *tempData)
576 if (tempData->numCB2) {
578 bytestream_put_le32(outp, tempData->numCB2*6 + tempData->numCB4*4);
579 bytestream_put_byte(outp, tempData->numCB4);
580 bytestream_put_byte(outp, tempData->numCB2);
582 for (i=0; i<tempData->numCB2; i++) {
583 bytestream_put_buffer(outp, enc->cb2x2[tempData->f2i2[i]].y, 4);
584 bytestream_put_byte(outp, enc->cb2x2[tempData->f2i2[i]].u);
585 bytestream_put_byte(outp, enc->cb2x2[tempData->f2i2[i]].v);
588 for (i=0; i<tempData->numCB4; i++)
590 bytestream_put_byte(outp, tempData->i2f2[enc->cb4x4[tempData->f2i4[i]].idx[j]]);
626 static void reconstruct_and_encode_image(RoqContext *enc, RoqTempdata *tempData, int w, int h, int numBlocks)
643 if (tempData->used_option[RoQ_ID_CCC]%2)
644 tempData->mainChunkSize+=8; //FIXME
648 bytestream_put_le32(&enc->out_buf, tempData->mainChunkSize/8);
653 eval = tempData->cel_evals + i;
673 bytestream_put_byte(&spool.args, tempData->i2f4[eval->cbEntry]);
705 tempData->i2f4[eval->subCels[j].cbEntry]);
723 tempData->i2f2[cb_idx]);
830 static void generate_new_codebooks(RoqContext *enc, RoqTempdata *tempData)
833 RoqCodebooks *codebooks = &tempData->codebooks;
851 generate_codebook(enc, tempData, points, max, results4, 4, (enc->quake3_compat ? MAX_CBS_4x4-1 : MAX_CBS_4x4));
855 tempData->closest_cb2 = av_malloc_array(max, 4*sizeof(int));
858 generate_codebook(enc, tempData, points, max*4, enc->cb2x2, 2, MAX_CBS_2x2);
886 RoqTempdata *tempData = enc->tmpData;
889 memset(tempData, 0, sizeof(*tempData));
891 create_cel_evals(enc, tempData);
893 generate_new_codebooks(enc, tempData);
902 gather_data_for_cel(tempData->cel_evals + i, enc, tempData);
905 if (tempData->mainChunkSize/8 > 65535 && enc->quake3_compat) {
913 tempData->mainChunkSize/8);
915 tempData->mainChunkSize = 0;
916 memset(tempData->used_option, 0, sizeof(tempData->used_option));
917 memset(tempData->codebooks.usedCB4, 0,
918 sizeof(tempData->codebooks.usedCB4));
919 memset(tempData->codebooks.usedCB2, 0,
920 sizeof(tempData->codebooks.usedCB2));
925 remap_codebooks(enc, tempData);
927 write_codebooks(enc, tempData);
929 reconstruct_and_encode_image(enc, tempData, enc->width, enc->height,
939 av_free(tempData->cel_evals);
940 av_free(tempData->closest_cb2);