summaryrefslogtreecommitdiff
blob: 1589a12fa18591f9f41a03f83596af2dcc4dfecf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
--- a/mpeg4ip-1.5.0.1/server/mp4live/video_x264.cpp	2006-05-11 22:23:19.000000000 +0200
+++ b/mpeg4ip/server/mp4live/video_x264.cpp	2006-09-29 21:55:42.000000000 +0200
@@ -32,7 +32,9 @@
 
 static config_index_t CFG_X264_FORCE_BASELINE;
 static config_index_t CFG_X264_USE_CABAC;
+#ifndef HAVE_X264_PARAM_T_RC_I_RC_METHOD
 static config_index_t CFG_X264_USE_CBR;
+#endif
 static config_index_t CFG_X264_BIT_RATE_TOLERANCE;
 static config_index_t CFG_X264_USE_VBV;
 static config_index_t CFG_X264_VBV_BITRATE_MULT;
@@ -44,7 +46,9 @@
 static SConfigVariable X264EncoderVariables[] = {
   CONFIG_BOOL(CFG_X264_FORCE_BASELINE, "x264ForceBaseline", false),
   CONFIG_BOOL(CFG_X264_USE_CABAC, "x264UseCabac", true),
+#ifndef HAVE_X264_PARAM_T_RC_I_RC_METHOD
   CONFIG_BOOL(CFG_X264_USE_CBR, "x264UseCbr", true),
+#endif
   CONFIG_FLOAT(CFG_X264_BIT_RATE_TOLERANCE, "x264BitRateTolerance", 1.0),
   CONFIG_BOOL(CFG_X264_USE_VBV, "x264UseVbv", false),
   CONFIG_FLOAT(CFG_X264_VBV_BITRATE_MULT, "x264VbvBitRateMult", 1.0),
@@ -56,7 +60,9 @@
 
 GUI_BOOL(gui_baseline, CFG_X264_FORCE_BASELINE, "Force Baseline (overrides below)");
 GUI_BOOL(gui_cabac, CFG_X264_USE_CABAC, "Use Cabac");
+#ifndef HAVE_X264_PARAM_T_RC_I_RC_METHOD
 GUI_BOOL(gui_cbr, CFG_X264_USE_CBR, "Use CBR");
+#endif
 GUI_BOOL(gui_bframe, CFG_VIDEO_USE_B_FRAMES, "Use B Frames");
 GUI_INT_RANGE(gui_bframenum, CFG_VIDEO_NUM_OF_B_FRAMES, "Number of B frames", 1, 4);
 
@@ -75,7 +81,9 @@
 DECLARE_TABLE(x264_gui_options) = {
   TABLE_GUI(gui_baseline),
   TABLE_GUI(gui_cabac),
+#ifndef HAVE_X264_PARAM_T_RC_I_RC_METHOD
   TABLE_GUI(gui_cbr),
+#endif
   TABLE_GUI(gui_bframe),
   TABLE_GUI(gui_bframenum),
   TABLE_GUI(gui_brate),
@@ -168,7 +176,11 @@
     m_param.i_bframe = 0;
   //debug_message("h264 b frames %d", m_param.i_bframe);
   m_param.rc.i_bitrate = Profile()->GetIntegerValue(CFG_VIDEO_BIT_RATE);
+#ifndef HAVE_X264_PARAM_T_RC_I_RC_METHOD
   m_param.rc.b_cbr = Profile()->GetBoolValue(CFG_X264_USE_CBR) ? 1 : 0;
+#else
+  m_param.rc.i_rc_method = X264_RC_ABR;
+#endif
   m_param.rc.f_rate_tolerance = Profile()->GetFloatValue(CFG_X264_BIT_RATE_TOLERANCE);
   if (Profile()->GetBoolValue(CFG_X264_USE_VBV)) {
     if (Profile()->GetBoolValue(CFG_X264_FORCE_BASELINE)) {
--- a/mpeg4ip-1.5.0.1/server/mp4live/video_x264.h.old	2006-11-11 20:56:48.000000000 +0100
+++ b/mpeg4ip-1.5.0.1/server/mp4live/video_x264.h	2006-11-11 20:57:49.000000000 +0100
@@ -33,6 +33,10 @@
 }
 #endif
 
+#if X264_BUILD > 47
+#define HAVE_X264_PARAM_T_RC_I_RC_METHOD
+#endif
+
 class CX264VideoEncoder : public CVideoEncoder {
  public:
 	CX264VideoEncoder(CVideoProfile *vp,