Skip to content

Commit

Permalink
Revert "add max nal size setting in gmp wrapper"
Browse files Browse the repository at this point in the history
This reverts commit a20c503.
  • Loading branch information
ethanhugg committed Jun 30, 2014
1 parent 2b038fa commit ce52680
Showing 1 changed file with 33 additions and 88 deletions.
121 changes: 33 additions & 88 deletions module/gmp-openh264.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -204,95 +204,40 @@ class OpenH264VideoEncoder : public GMPVideoEncoder {
if (rv) {
return GMPVideoGenericErr;
}
if (maxPayloadSize <= 0) {
SEncParamBase param;
memset (&param, 0, sizeof (param));

GMPLOG (GL_INFO, "Initializing encoder at "
<< codecSettings.mWidth
<< "x"
<< codecSettings.mHeight
<< "@"
<< static_cast<int> (codecSettings.mMaxFramerate)
<< "max payload size="
<< maxPayloadSize);

// Translate parameters.
param.iUsageType = CAMERA_VIDEO_REAL_TIME;
param.iPicWidth = codecSettings.mWidth;
param.iPicHeight = codecSettings.mHeight;
param.iTargetBitrate = codecSettings.mStartBitrate * 1000;
GMPLOG (GL_INFO, "Initializing Bit Rate at: Start: "
<< codecSettings.mStartBitrate
<< "; Min: "
<< codecSettings.mMinBitrate
<< "; Max: "
<< codecSettings.mMaxBitrate);

param.iRCMode = RC_BITRATE_MODE;

// TODO([email protected]). Scary conversion from unsigned char to float below.
param.fMaxFrameRate = static_cast<float> (codecSettings.mMaxFramerate);
param.iInputCsp = videoFormatI420;

rv = encoder_->Initialize (&param);
if (rv) {
GMPLOG (GL_ERROR, "Couldn't initialize encoder");
return GMPVideoGenericErr;
}
} else {
SEncParamExt param;
memset (&param, 0, sizeof (param));
encoder_->GetDefaultParams (&param);

GMPLOG (GL_INFO, "Initializing encoder at "
<< codecSettings.mWidth
<< "x"
<< codecSettings.mHeight
<< "@"
<< static_cast<int> (codecSettings.mMaxFramerate)
<< "max payload size="
<< maxPayloadSize);

// Translate parameters.
param.iUsageType = CAMERA_VIDEO_REAL_TIME;
param.iInputCsp = videoFormatI420;
param.iPicWidth = codecSettings.mWidth;
param.iPicHeight = codecSettings.mHeight;
param.iRCMode = RC_BITRATE_MODE;
param.iTargetBitrate = codecSettings.mStartBitrate * 1000;
param.iMaxBitrate = codecSettings.mMaxBitrate * 1000;
GMPLOG (GL_INFO, "Initializing Bit Rate at: Start: "
<< codecSettings.mStartBitrate
<< "; Min: "
<< codecSettings.mMinBitrate
<< "; Max: "
<< codecSettings.mMaxBitrate);
//for controlling the NAL size (normally for packetization-mode=0)
param.uiMaxNalSize = maxPayloadSize;

// TODO([email protected]). Scary conversion from unsigned char to float below.
param.fMaxFrameRate = static_cast<float> (codecSettings.mMaxFramerate);

// Set up layers. Currently we have one layer.
SSpatialLayerConfig* layer = &param.sSpatialLayers[0];

layer->iVideoWidth = codecSettings.mWidth;
layer->iVideoHeight = codecSettings.mHeight;
layer->fFrameRate = param.fMaxFrameRate;
layer->iSpatialBitrate = param.iTargetBitrate;
layer->iMaxSpatialBitrate = param.iMaxBitrate;

// Based on guidance from Cisco.
layer->sSliceCfg.uiSliceMode = SM_DYN_SLICE;
layer->sSliceCfg.sSliceArgument.uiSliceSizeConstraint = maxPayloadSize;

rv = encoder_->InitializeExt (&param);
if (rv) {
GMPLOG (GL_ERROR, "Couldn't initialize encoder");
return GMPVideoGenericErr;
}

SEncParamBase param;
memset (&param, 0, sizeof (param));

GMPLOG (GL_INFO, "Initializing encoder at "
<< codecSettings.mWidth
<< "x"
<< codecSettings.mHeight
<< "@"
<< static_cast<int> (codecSettings.mMaxFramerate)
<< "max payload size="
<< maxPayloadSize);

// Translate parameters.
param.iUsageType = CAMERA_VIDEO_REAL_TIME;
param.iPicWidth = codecSettings.mWidth;
param.iPicHeight = codecSettings.mHeight;
param.iTargetBitrate = codecSettings.mStartBitrate * 1000;
GMPLOG (GL_INFO, "Initializing Bit Rate at: Start: "
<< codecSettings.mStartBitrate
<< "; Min: "
<< codecSettings.mMinBitrate
<< "; Max: "
<< codecSettings.mMaxBitrate);
param.iRCMode = RC_BITRATE_MODE;

// TODO([email protected]). Scary conversion from unsigned char to float below.
param.fMaxFrameRate = static_cast<float> (codecSettings.mMaxFramerate);
param.iInputCsp = videoFormatI420;

rv = encoder_->Initialize (&param);
if (rv) {
GMPLOG (GL_ERROR, "Couldn't initialize encoder");
return GMPVideoGenericErr;
}

max_payload_size_ = maxPayloadSize;
Expand Down

0 comments on commit ce52680

Please sign in to comment.