Lines Matching defs:encParams

212     VideoEncParams *encParams;
236 video->encParams = (VideoEncParams *)M4VENC_MALLOC(sizeof(VideoEncParams));
237 if (video->encParams == NULL)
240 M4VENC_MEMSET(video->encParams, 0, sizeof(VideoEncParams));
242 encParams = video->encParams;
243 encParams->nLayers = encOption->numLayers;
250 if (encParams->nLayers != 1)
255 encParams->LayerMaxMbsPerSec[0] = profile_level_max_mbsPerSec[profile_table_index];
262 if (encParams->nLayers < 2)
266 for (i = 0; i < encParams->nLayers; i++)
268 encParams->LayerMaxMbsPerSec[i] = scalable_profile_level_max_mbsPerSec[profile_table_index];
304 encParams->SequenceStartCode = 1;
305 encParams->GOV_Enabled = 0;
306 encParams->RoundingType = 0;
307 encParams->IntraDCVlcThr = PV_MAX(PV_MIN(encOption->intraDCVlcTh, 7), 0);
308 encParams->ACDCPrediction = ((encOption->useACPred == PV_ON) ? TRUE : FALSE);
309 encParams->RC_Type = encOption->rcType;
310 encParams->Refresh = encOption->numIntraMB;
311 encParams->ResyncMarkerDisable = 0; /* Enable Resync Marker */
316 encParams->QuantType[i] = 0;
318 encParams->QuantType[i] = encOption->quantType[i]; /* H263 */
322 encParams->InitQuantPvop[i] = encOption->pQuant[i];
330 encParams->InitQuantIvop[i] = encOption->iQuant[i];
338 encParams->HalfPel_Enabled = 1;
339 encParams->SearchRange = encOption->searchRange; /* 4/16/2001 */
340 encParams->FullSearch_Enabled = 0;
342 encParams->MV8x8_Enabled = 0;
344 encParams->MV8x8_Enabled = 0;// comment out for now!! encOption->mv8x8Enable;
346 encParams->H263_Enabled = 0;
347 encParams->GOB_Header_Interval = 0; // need to be reset to 0
348 encParams->IntraPeriod = encOption->intraPeriod; /* Intra update period update default*/
349 encParams->SceneChange_Det = encOption->sceneDetect;
350 encParams->FineFrameSkip_Enabled = 0;
351 encParams->NoFrameSkip_Enabled = encOption->noFrameSkipped;
352 encParams->NoPreSkip_Enabled = encOption->noFrameSkipped;
353 encParams->GetVolHeader[0] = 0;
354 encParams->GetVolHeader[1] = 0;
355 encParams->ResyncPacketsize = encOption->packetSize << 3;
356 encParams->LayerMaxBitRate[0] = 0;
357 encParams->LayerMaxBitRate[1] = 0;
358 encParams->LayerMaxFrameRate[0] = (float)0.0;
359 encParams->LayerMaxFrameRate[1] = (float)0.0;
360 encParams->VBV_delay = encOption->vbvDelay; /* 2sec VBV buffer size */
369 encParams->nLayers = 1;
370 encParams->QuantType[0] = 0; /*H263 */
371 encParams->ResyncMarkerDisable = 1; /* Disable Resync Marker */
372 encParams->DataPartitioning = 0; /* Combined Mode */
373 encParams->ReversibleVLC = 0; /* Disable RVLC */
374 encParams->RoundingType = 0;
375 encParams->IntraDCVlcThr = 7; /* use_intra_dc_vlc = 0 */
376 encParams->MV8x8_Enabled = 0;
378 encParams->GOB_Header_Interval = encOption->gobHeaderInterval;
379 encParams->H263_Enabled = 2;
380 encParams->GOV_Enabled = 0;
381 encParams->TimeIncrementRes = 30000; /* timeIncrementRes for H263 */
388 encParams->nLayers = 1;
389 encParams->QuantType[0] = 0; /*H263 */
390 encParams->ResyncMarkerDisable = 1; /* Disable Resync Marker */
391 encParams->DataPartitioning = 0; /* Combined Mode */
392 encParams->ReversibleVLC = 0; /* Disable RVLC */
393 encParams->RoundingType = 0;
394 encParams->IntraDCVlcThr = 7; /* use_intra_dc_vlc = 0 */
395 encParams->MV8x8_Enabled = 0;
397 encParams->H263_Enabled = 1;
398 encParams->GOV_Enabled = 0;
399 encParams->TimeIncrementRes = 30000; /* timeIncrementRes for H263 */
405 encParams->DataPartitioning = 1; /* Base Layer Data Partitioning */
406 encParams->ResyncMarkerDisable = 0; /* Resync Marker */
408 encParams->ReversibleVLC = 0;
410 encParams->ReversibleVLC = (encOption->rvlcEnable == PV_ON); /* RVLC when Data Partitioning */
412 encParams->ResyncPacketsize = PacketSize;
417 encParams->DataPartitioning = 0; /* Combined Mode */
418 encParams->ResyncMarkerDisable = 0; /* Resync Marker */
419 encParams->ReversibleVLC = 0; /* No RVLC */
420 encParams->ResyncPacketsize = PacketSize;
425 encParams->DataPartitioning = 0; /* Combined Mode */
426 encParams->ResyncMarkerDisable = 1; /* Disable Resync Marker */
427 encParams->ReversibleVLC = 0; /* No RVLC */
437 encParams->profile_table_index = profile_table_index; /* Used to limit the profile and level in SetProfile_BufferSize() */
445 if (!encParams->H263_Enabled)
447 encParams->TimeIncrementRes = timeIncRes;
451 encParams->TimeIncrementRes = 30000;
462 if (encParams->H263_Enabled)
492 for (i = 0; i < encParams->nLayers; i++)
494 encParams->LayerHeight[i] = encOption->encHeight[i];
495 encParams->LayerWidth[i] = encOption->encWidth[i];
499 for (i = 0; i < encParams->nLayers; i++)
501 encParams->LayerFrameRate[i] = encOption->encFrameRate[i];
504 if (encParams->nLayers > 1)
511 for (i = 0; i < encParams->nLayers; i++)
515 nTotalMB = ((encParams->LayerWidth[i] + 15) / 16) * ((encParams->LayerHeight[i] + 15) / 16);
518 profile_max_framerate = (float)encParams->LayerMaxMbsPerSec[i] / (float)nTotalMB;
523 encParams->LayerMaxFrameRate[i] = PV_MIN(profile_max_framerate, encParams->LayerFrameRate[i]);
528 for (i = 0; i < encParams->nLayers; i++)
530 encParams->LayerBitRate[i] = encOption->bitRate[i];
531 encParams->LayerMaxBitRate[i] = encOption->bitRate[i];
533 if (encParams->nLayers > 1)
540 encParams->RC_Type = encOption->rcType;
548 encParams->VBV_delay = (float)2.0; /* default 2sec VBV buffer size */
552 encParams->VBV_delay = (float)0.5; /* default 0.5sec VBV buffer size */
557 encParams->VBV_delay = (float)10.0; /* default 10sec VBV buffer size */
565 encParams->VBV_delay = encOption->vbvDelay;
569 if (encParams->H263_Enabled && encOption->searchRange > 16)
571 encParams->SearchRange = 16; /* 4/16/2001 */
578 if (video->encParams->RC_Type == CBR_1 || video->encParams->RC_Type == CBR_2 || video->encParams->RC_Type == CBR_LOWDELAY) /* if CBR */
581 if (video->encParams->NoFrameSkip_Enabled == PV_ON ||
582 video->encParams->NoPreSkip_Enabled == PV_ON) /* don't allow frame skip*/
586 else if (video->encParams->RC_Type == CONSTANT_Q) /* constant_Q */
588 video->encParams->NoFrameSkip_Enabled = PV_ON; /* no frame skip */
589 video->encParams->NoPreSkip_Enabled = PV_ON; /* no frame skip */
595 if (video->encParams->NoFrameSkip_Enabled == PV_ON) /* if no frame skip */
597 video->encParams->FineFrameSkip_Enabled = PV_OFF;
607 nLayers = video->encParams->nLayers; /* Number of Layers to be encoded */
612 temp_w = video->encParams->LayerWidth[idx];
613 temp_h = video->encParams->LayerHeight[idx];
628 mbsPerSec = (Int)(nTotalMB * video->encParams->LayerFrameRate[idx]);
629 if (mbsPerSec > video->encParams->LayerMaxMbsPerSec[idx]) status = PV_FALSE;
635 if (video->encParams->RC_Type == CBR_LOWDELAY) video->encParams->VBV_delay = 0.5; /* For CBR_LOWDELAY, we set 0.5sec buffer */
636 status = SetProfile_BufferSize(video, video->encParams->VBV_delay, 1);
655 //video->frameRate = video->encParams->LayerFrameRate[0]; /* Set current layer frame rate */
699 if (!video->encParams->H263_Enabled)
737 video->oBSize = encParams->BufferSize[0] >> 3;
741 video->oBSize = PV_MAX((encParams->BufferSize[0] >> 3), (encParams->BufferSize[1] >> 3));
744 if (video->oBSize > DEFAULT_OVERRUN_BUFFER_SIZE || encParams->RC_Type == CONSTANT_Q) // set limit
756 if (video->encParams->H263_Enabled) /* make it conditional 11/28/05 */
864 video->pMP[idx]->frameRange = (Int)(video->encParams->LayerFrameRate[idx] * 1.0); /* 1.0s time frame*/
891 pEncParams = video->encParams;
898 pVol->timeIncrementResolution = video->encParams->TimeIncrementRes;
1049 if (video->encParams->RC_Type != CONSTANT_Q)
1125 video->encParams->rc[0]->totalFrameNumber);
1186 max_width = video->encParams->LayerWidth[0];
1188 if (video->encParams->H263_Enabled)
1233 for (idx = 0; idx < video->encParams->nLayers; idx++)
1255 for (idx = 0; idx < video->encParams->nLayers; idx++)
1272 if (video->encParams->RC_Type != CONSTANT_Q)
1274 RC_Cleanup(video->rc, video->encParams->nLayers);
1276 for (idx = 0; idx < video->encParams->nLayers; idx++)
1287 if (video->encParams)
1289 M4VENC_FREE(video->encParams);
1320 if (encData->encParams == NULL)
1328 encData->encParams->GetVolHeader[layer] = 1; /* Set usage flag: Needed to support old method*/
1388 VideoEncParams *encParams = video->encParams;
1399 //Int nLayers = encParams->nLayers;
1420 if ((currLayer < 0) || (currLayer > encParams->nLayers - 1))
1475 if (!video->encParams->GetVolHeader[currLayer])
1484 width = encParams->LayerWidth[currLayer]; /* Get input width */
1485 height = encParams->LayerHeight[currLayer]; /* Get input height */
1508 if (video->encParams->H263_Enabled) /* 11/28/05 */
1519 video->currVop->intraDCVlcThr = encParams->IntraDCVlcThr;
1554 video->currVop->quantizer = encParams->InitQuantIvop[currLayer];
1556 video->currVop->quantizer = encParams->InitQuantPvop[currLayer];
1589 if ((currLayer == 0) && (encParams->IntraPeriod > 0) && (video->currVop->predictionType == I_VOP))
1590 video->nextEncIVop = encParams->IntraPeriod;
1615 if (video->encParams->H263_Enabled)
1626 vid_out->timestamp = (ULong)(((video->prevFrameNum[currLayer] * 1000) / encParams->LayerFrameRate[currLayer]) + video->modTimeRef + 0.5);
1681 VideoEncParams *encParams = video->encParams;
1689 //Int nLayers = encParams->nLayers;
1754 width = encParams->LayerWidth[currLayer]; /* Get input width */
1755 height = encParams->LayerHeight[currLayer]; /* Get input height */
1778 if (video->encParams->H263_Enabled) /* 11/28/05 */
1789 video->currVop->intraDCVlcThr = encParams->IntraDCVlcThr;
1824 video->currVop->quantizer = encParams->InitQuantIvop[currLayer];
1826 video->currVop->quantizer = encParams->InitQuantPvop[currLayer];
1872 VideoEncParams *encParams = video->encParams;
1895 if (!video->encParams->GetVolHeader[currLayer])
1929 if ((currLayer == 0) && (encParams->IntraPeriod > 0) && (video->currVop->predictionType == I_VOP))
1930 video->nextEncIVop = encParams->IntraPeriod;
1938 if (video->encParams->H263_Enabled)
1949 vid_out->timestamp = (ULong)(((video->prevFrameNum[currLayer] * 1000) / encParams->LayerFrameRate[currLayer]) + video->modTimeRef + 0.5);
2020 if (encData->encParams == NULL)
2023 if (!encData->encParams->H263_Enabled) return PV_FALSE;
2027 width = encData->encParams->LayerWidth[0];
2028 height = encData->encParams->LayerHeight[0];
2029 bitrate_r = (float)(encData->encParams->LayerBitRate[0]) / (float)64000.0;
2030 framerate = encData->encParams->LayerFrameRate[0];
2086 if (video->encParams->ProfileLevel[0] == profile_level_code[i])
2097 if (video->encParams->ProfileLevel[0] == scalable_profile_level_code[i])
2129 if (encData->encParams == NULL)
2133 for (i = 0; i < encData->encParams->nLayers; i++)
2137 //nTotalMB = (((encData->encParams->LayerWidth[i]+15)/16)*16)*(((encData->encParams->LayerHeight[i]+15)/16)*16)/(16*16);
2139 //if(mbPerSec > encData->encParams->LayerMaxMbsPerSec[i]) return PV_FALSE;
2140 if (frameRate[i] > encData->encParams->LayerMaxFrameRate[i]) return PV_FALSE; /* set by users or profile */
2142 encData->encParams->LayerFrameRate[i] = frameRate[i];
2170 if (encData->encParams == NULL)
2174 for (i = 0; i < encData->encParams->nLayers; i++)
2176 if (bitRate[i] > encData->encParams->LayerMaxBitRate[i]) /* set by users or profile */
2180 encData->encParams->LayerBitRate[i] = bitRate[i];
2209 if (encData->encParams == NULL)
2213 total_bitrate = (encData->encParams->nLayers == 1 ? encData->encParams->LayerBitRate[0] :
2214 encData->encParams->LayerBitRate[1]);
2215 index = encData->encParams->profile_table_index;
2216 max_buffer_size = (encData->encParams->nLayers == 1 ? profile_level_max_VBV_size[index] :
2222 encData->encParams->VBV_delay = delay;
2247 if (encData->encParams == NULL)
2250 encData->encParams->IntraPeriod = aIFramePeriod;
2273 encData->encParams->Refresh = numMB;
2297 if (encData->encParams == NULL)
2323 if (encData->encParams == NULL)
2325 return encData->encParams->MemoryUsage;
2347 if (encData->encParams == NULL)
2375 if (encData->encParams == NULL)
2380 *maxVideoFrameSize = encData->encParams->BufferSize[0];
2382 if (encData->encParams->nLayers == 2)
2383 if (*maxVideoFrameSize < encData->encParams->BufferSize[1])
2384 *maxVideoFrameSize = encData->encParams->BufferSize[1];
2411 if (encData->encParams == NULL)
2414 *VBVSize = encData->encParams->BufferSize[0];
2415 if (encData->encParams->nLayers == 2)
2416 *VBVSize += encData->encParams->BufferSize[1];
2455 status = BitstreamPutBits(stream, 8, video->encParams->ProfileLevel[video->currLayer]);
2623 VideoEncParams *encParams = video->encParams;
2624 Int numLayers = encParams->nLayers;
2626 float *LayerFrameRate = encParams->LayerFrameRate;
2678 frameTick = (UInt)((frameTick + (encParams->LayerFrameRate[i]/2))/encParams->LayerFrameRate[i]);*/
2711 if (encParams->RC_Type != CONSTANT_Q)
2736 (Int)((1000.0 * encParams->LayerFrameRate[numLayers-1]) / encParams->LayerFrameRate[i]);
2747 frameNum[i] = (UInt)((frameModTime - modTimeRef) * encParams->LayerFrameRate[i] + 500) / 1000;
2757 if (encParams->RC_Type != CONSTANT_Q)
2787 VideoEncParams *encParams = video->encParams;
2790 if (encParams->IntraPeriod == 0) /* I-VOPs only */
2801 else if (encParams->IntraPeriod == -1) /* IPPPPP... */
2805 if (encParams->RC_Type == CONSTANT_Q || video->rc[currLayer]->skip_next_frame != -1)
2827 if (encParams->RC_Type == CONSTANT_Q || video->rc[currLayer]->skip_next_frame != -1)
2834 video->nextEncIVop = encParams->IntraPeriod;
2859 VideoEncParams *encParams = video->encParams;
2860 Int numLayers = encParams->nLayers;
2868 if (encParams->RC_Type != CONSTANT_Q)
2897 /*if((encParams->IntraPeriod>0) && (video->currVop->predictionType == I_VOP))
2922 ((Int)((1000.0 * encParams->LayerFrameRate[numLayers-1]) / encParams->LayerFrameRate[i]));
2935 if (((encParams->IntraPeriod != 0) /*&& (video->currVop->predictionType==I_VOP)*/) ||
2936 ((encParams->IntraPeriod == 0) && (video->numVopsInGOP == 0)))
2952 temp = (UInt)(deltaModTime * encParams->LayerFrameRate[i]); /* 12/12/02 */
2962 video->prevFrameNum[i] -= (UInt)(deltaModTime * encParams->LayerFrameRate[i]) / 1000;
2996 Int nLayers = video->encParams->nLayers; /* Number of Layers to be encoded */
3015 index = video->encParams->profile_table_index;
3021 temp_w = video->encParams->LayerWidth[idx];
3022 temp_h = video->encParams->LayerHeight[idx];
3032 upper_bound_ratio = (video->encParams->RC_Type == CBR_LOWDELAY ? (float)5.0 : (float)UPPER_BOUND_RATIO);
3036 base_bitrate = video->encParams->LayerBitRate[0];
3037 if (video->encParams->LayerMaxBitRate[0] != 0) /* video->encParams->LayerMaxBitRate[0] == 0 means it has not been set */
3039 base_bitrate = PV_MAX(base_bitrate, video->encParams->LayerMaxBitRate[0]);
3043 video->encParams->LayerMaxBitRate[0] = profile_level_max_bitrate[index];
3046 base_framerate = video->encParams->LayerFrameRate[0];
3047 if (video->encParams->LayerMaxFrameRate[0] != 0)
3049 base_framerate = PV_MAX(base_framerate, video->encParams->LayerMaxFrameRate[0]);
3053 video->encParams->LayerMaxFrameRate[0] = (float)profile_level_max_mbsPerSec[index] / nTotalMB;
3056 base_packet_size = video->encParams->ResyncPacketsize;
3074 total_bitrate = video->encParams->LayerBitRate[1];
3075 if (video->encParams->LayerMaxBitRate[1] != 0)
3077 total_bitrate = PV_MIN(total_bitrate, video->encParams->LayerMaxBitRate[1]);
3081 video->encParams->LayerMaxBitRate[1] = scalable_profile_level_max_bitrate[index];
3084 total_framerate = video->encParams->LayerFrameRate[1];
3085 if (video->encParams->LayerMaxFrameRate[1] != 0)
3087 total_framerate = PV_MIN(total_framerate, video->encParams->LayerMaxFrameRate[1]);
3091 video->encParams->LayerMaxFrameRate[1] = (float)scalable_profile_level_max_mbsPerSec[index] / nTotalMB;
3094 total_packet_size = video->encParams->ResyncPacketsize;
3118 video->encParams->BufferSize[0] = base_VBV_size;
3120 video->encParams->BufferSize[1] = enhance_VBV_size;
3138 width16 = ((video->encParams->LayerWidth[0] + 15) >> 4) << 4;
3139 height16 = ((video->encParams->LayerHeight[0] + 15) >> 4) << 4;
3140 if (video->encParams->H263_Enabled)
3152 video->encParams->maxFrameSize = k * 16384;
3163 if (!video->encParams->H263_Enabled &&
3164 (video->encParams->IntraDCVlcThr != 0 || video->encParams->SearchRange > 16))
3179 base_VBV_size <= (video->encParams->H263_Enabled ? (Int)(k*16384 + 4*(float)profile_level_max_bitrate[i]*1001.0 / 30000.0) :
3193 video->encParams->ProfileLevel[0] = profile_level_code[i];
3194 video->encParams->BufferSize[0] = base_VBV_size;
3196 if (video->encParams->LayerMaxBitRate[0] == 0)
3197 video->encParams->LayerMaxBitRate[0] = profile_level_max_bitrate[i];
3199 if (video->encParams->LayerMaxFrameRate[0] == 0)
3200 video->encParams->LayerMaxFrameRate[0] = PV_MIN(30, (float)profile_level_max_mbsPerSec[i] / nTotalMB);
3203 if (video->encParams->H263_Enabled)
3204 video->encParams->BufferSize[0] = (Int)(k * 16384 + 4 * (float)profile_level_max_bitrate[i] * 1001.0 / 30000.0);
3273 video->encParams->ProfileLevel[0] = profile_level_code[j];
3274 video->encParams->ProfileLevel[1] = scalable_profile_level_code[i];
3275 video->encParams->BufferSize[0] = base_VBV_size;
3276 video->encParams->BufferSize[1] = enhance_VBV_size;
3278 if (video->encParams->LayerMaxBitRate[0] == 0)
3279 video->encParams->LayerMaxBitRate[0] = profile_level_max_bitrate[j];
3281 if (video->encParams->LayerMaxBitRate[1] == 0)
3282 video->encParams->LayerMaxBitRate[1] = scalable_profile_level_max_bitrate[i];
3284 if (video->encParams->LayerMaxFrameRate[0] == 0)
3285 video->encParams->LayerMaxFrameRate[0] = PV_MIN(30, (float)profile_level_max_mbsPerSec[j] / nTotalMB);
3287 if (video->encParams->LayerMaxFrameRate[1] == 0)
3288 video->encParams->LayerMaxFrameRate[1] = PV_MIN(30, (float)scalable_profile_level_max_mbsPerSec[i] / nTotalMB);
3294 if (!video->encParams->H263_Enabled && (video->encParams->ProfileLevel[0] == 0x08)) /* SPL0 restriction*/
3297 if(video->encParams->ACDCPrediction == TRUE && MB-based rate control)