summaryrefslogtreecommitdiff
path: root/ext/openh264/gstopenh264enc.cpp
diff options
context:
space:
mode:
authorZaheer Abbas Merali <zaheermerali@gmail.com>2014-12-12 10:05:23 -0800
committerZaheer Abbas Merali <zaheermerali@gmail.com>2014-12-12 10:05:23 -0800
commit15394aa70543f55c54fa8a474805224f4138f76c (patch)
tree83d9f874db9be5bb58dc8d0c3685b2b7d498a8e0 /ext/openh264/gstopenh264enc.cpp
parentb3c4b8d1dfa59d2318ff834a111f7f0854f56e87 (diff)
downloadgstreamer-plugins-bad-15394aa70543f55c54fa8a474805224f4138f76c.tar.gz
openh264: fix to work with released versions and master of upstream
Diffstat (limited to 'ext/openh264/gstopenh264enc.cpp')
-rw-r--r--ext/openh264/gstopenh264enc.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/ext/openh264/gstopenh264enc.cpp b/ext/openh264/gstopenh264enc.cpp
index 89a505ed5..7e3b18e6e 100644
--- a/ext/openh264/gstopenh264enc.cpp
+++ b/ext/openh264/gstopenh264enc.cpp
@@ -74,7 +74,7 @@ gst_openh264enc_rc_modes_get_type (void)
static GEnumValue rc_modes_types[] = {
{RC_QUALITY_MODE, "Quality mode", "quality"},
{RC_BITRATE_MODE, "Bitrate mode", "bitrate"},
- {RC_LOW_BW_MODE, "Low bandwidth mode", "bandwidth"},
+ {RC_BUFFERBASED_MODE, "No bitrate control, just using buffer status", "buffer"},
{RC_OFF_MODE, "Rate control off mode", "off"},
{0, NULL, NULL},
};
@@ -407,8 +407,8 @@ gst_openh264enc_set_rate_control (GstOpenh264Enc * openh264enc, gint rc_mode)
case RC_BITRATE_MODE:
openh264enc->priv->rate_control = RC_BITRATE_MODE;
break;
- case RC_LOW_BW_MODE:
- openh264enc->priv->rate_control = RC_LOW_BW_MODE;
+ case RC_BUFFERBASED_MODE:
+ openh264enc->priv->rate_control = RC_BUFFERBASED_MODE;
break;
case RC_OFF_MODE:
openh264enc->priv->rate_control = RC_OFF_MODE;
@@ -633,6 +633,7 @@ gst_openh264enc_set_format (GstVideoEncoder * encoder,
GstCaps *outcaps;
GstVideoCodecState *output_state;
openh264enc->priv->frame_count = 0;
+ int video_format = videoFormatI420;
debug_caps = gst_caps_to_string (state->caps);
GST_DEBUG_OBJECT (openh264enc, "gst_e26d4_enc_set_format called, caps: %s",
@@ -667,7 +668,6 @@ gst_openh264enc_set_format (GstVideoEncoder * encoder,
enc_params.iTemporalLayerNum = 1;
enc_params.iSpatialLayerNum = 1;
enc_params.iLtrMarkPeriod = 30;
- enc_params.iInputCsp = videoFormatI420;
enc_params.iMultipleThreadIdc = openh264enc->priv->multi_thread;
enc_params.bEnableDenoise = openh264enc->priv->enable_denoise;
enc_params.uiIntraPeriod = priv->gop_size;
@@ -701,6 +701,8 @@ gst_openh264enc_set_format (GstVideoEncoder * encoder,
return FALSE;
}
+ priv->encoder->SetOption(ENCODER_OPTION_DATAFORMAT, &video_format);
+
memset (&bsInfo, 0, sizeof (SFrameBSInfo));
ret = priv->encoder->EncodeParameterSets (&bsInfo);