libx264: connect AVCodecContext.rtp_payload_size to x264_params_t.i_slice_max_size
authorLyubomir Marinov <lyubomir.marinov@jitsi.org>
Sun, 16 Sep 2012 09:46:27 +0000 (12:46 +0300)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 17 Sep 2012 19:31:57 +0000 (21:31 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/libx264.c

index f2f8990..4435a2a 100644 (file)
@@ -443,6 +443,16 @@ static av_cold int X264_init(AVCodecContext *avctx)
 
     if (x4->slice_max_size >= 0)
         x4->params.i_slice_max_size =  x4->slice_max_size;
+    else {
+        /*
+         * Allow x264 to be instructed through AVCodecContext about the maximum
+         * size of the RTP payload. For example, this enables the production of
+         * payload suitable for the H.264 RTP packetization-mode 0 i.e. single
+         * NAL unit per RTP packet.
+         */
+        if (avctx->rtp_payload_size)
+            x4->params.i_slice_max_size = avctx->rtp_payload_size;
+    }
 
     if (x4->fastfirstpass)
         x264_param_apply_fastfirstpass(&x4->params);