OSDN Git Service

Make a small correction in terms of GOP structure in the recorded video
authorJames Dong <jdong@google.com>
Fri, 14 Sep 2012 17:36:53 +0000 (10:36 -0700)
committerJames Dong <jdong@google.com>
Fri, 14 Sep 2012 17:36:53 +0000 (10:36 -0700)
When we have a 30 fps frame rate, and one second key-frame or I-frame interval,
we really would like to have for each second, 29 P-frames + 1 I-frame. Thus,
we should calculate the number of P frames so that it is equal to
frame_rate * I_frame_interval - 1

Change-Id: I5b9be6e4c101e7a6b718015aa4041496961c0f19

media/libstagefright/OMXCodec.cpp

index 233a733..07f92c7 100755 (executable)
@@ -890,7 +890,7 @@ static OMX_U32 setPFramesSpacing(int32_t iFramesInterval, int32_t frameRate) {
     } else if (iFramesInterval == 0) {
         return 0;
     }
-    OMX_U32 ret = frameRate * iFramesInterval;
+    OMX_U32 ret = frameRate * iFramesInterval - 1;
     CHECK(ret > 1);
     return ret;
 }