aboutsummaryrefslogtreecommitdiff
path: root/multimedia/mpeg4ip/files/patch-server_mp4live_video_ffmpeg.cpp
blob: 114e87f57d285f59cc64081b9f6a547871304fa7 (plain) (blame)
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
--- server/mp4live/video_ffmpeg.cpp.orig	2007-01-30 22:53:45.000000000 +0100
+++ server/mp4live/video_ffmpeg.cpp	2011-06-24 22:08:18.167374694 +0200
@@ -121,9 +121,6 @@
   m_avctx->bit_rate = 
     Profile()->GetIntegerValue(CFG_VIDEO_BIT_RATE) * 1000;
 #ifndef HAVE_AVCODECCONTEXT_TIME_BASE
-  m_avctx->frame_rate = (int)(Profile()->GetFloatValue(CFG_VIDEO_FRAME_RATE) + 0.5);
-  m_avctx->frame_rate_base = 1;
-#else
   m_avctx->time_base = (AVRational){1, (int)(Profile()->GetFloatValue(CFG_VIDEO_FRAME_RATE) + .5)};
   m_avctx->pix_fmt = PIX_FMT_YUV420P;
   m_avctx->me_method = ME_EPZS;
@@ -131,9 +128,9 @@
   if (Profile()->GetIntegerValue(CFG_VIDEO_MPEG4_PAR_WIDTH) > 0 &&
       Profile()->GetIntegerValue(CFG_VIDEO_MPEG4_PAR_HEIGHT) > 0) {
 #ifndef HAVE_AVRATIONAL
-    float asp = (float)Profile()->GetIntegerValue(CFG_VIDEO_MPEG4_PAR_WIDTH);
-    asp /= (float)Profile()->GetIntegerValue(CFG_VIDEO_MPEG4_PAR_HEIGHT);
-    m_avctx->aspect_ratio = asp;
+     AVRational asp =      {Profile()->GetIntegerValue(CFG_VIDEO_MPEG4_PAR_WIDTH),
+       Profile()->GetIntegerValue(CFG_VIDEO_MPEG4_PAR_HEIGHT)};   
+       m_avctx->sample_aspect_ratio = asp;
 #else
     AVRational asp = 
       {Profile()->GetIntegerValue(CFG_VIDEO_MPEG4_PAR_WIDTH),
@@ -225,7 +222,7 @@
   }
   if (wantKeyFrame) m_picture->pict_type = FF_I_TYPE; //m_picture->key_frame = 1;
   else //m_picture->key_frame = 0;
-    m_picture->pict_type = 0;
+    m_picture->pict_type = FF_P_TYPE;
 
   m_picture->data[0] = (uint8_t *)pY;
   m_picture->data[1] = (uint8_t *)pU;