Merge commit 'a2efbecc4ed12d287cf29856418c4da4a7648d95'
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 24 Sep 2014 22:02:52 +0000 (00:02 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 24 Sep 2014 22:09:42 +0000 (00:09 +0200)
* commit 'a2efbecc4ed12d287cf29856418c4da4a7648d95':
  libavformat: Move avc mp4 startcode parsing to a shared file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavformat/avc.c
libavformat/avc.h
libavformat/rtpenc_h264.c

diff --combined libavformat/avc.c
@@@ -2,20 -2,20 +2,20 @@@
   * AVC helper functions for muxers
   * Copyright (c) 2006 Baptiste Coudurier <baptiste.coudurier@smartjog.com>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -191,3 -191,20 +191,20 @@@ int ff_avc_write_annexb_extradata(cons
      *size = out_size;
      return 0;
  }
+ const uint8_t *ff_avc_mp4_find_startcode(const uint8_t *start,
+                                          const uint8_t *end,
+                                          int nal_length_size)
+ {
+     unsigned int res = 0;
+     if (end - start < nal_length_size)
+         return NULL;
+     while (nal_length_size--)
+         res = (res << 8) | *start++;
+     if (res > end - start)
+         return NULL;
+     return start + res;
+ }
diff --combined libavformat/avc.h
@@@ -2,20 -2,20 +2,20 @@@
   * AVC helper functions for muxers
   * Copyright (c) 2008 Aurelien Jacobs <aurel@gnuage.org>
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
@@@ -30,5 -30,8 +30,8 @@@ int ff_avc_parse_nal_units_buf(const ui
  int ff_isom_write_avcc(AVIOContext *pb, const uint8_t *data, int len);
  const uint8_t *ff_avc_find_startcode(const uint8_t *p, const uint8_t *end);
  int ff_avc_write_annexb_extradata(const uint8_t *in, uint8_t **buf, int *size);
+ const uint8_t *ff_avc_mp4_find_startcode(const uint8_t *start,
+                                          const uint8_t *end,
+                                          int nal_length_size);
  
  #endif /* AVFORMAT_AVC_H */
@@@ -2,20 -2,20 +2,20 @@@
   * RTP packetization for H.264 (RFC3984)
   * Copyright (c) 2008 Luca Abeni
   *
 - * This file is part of Libav.
 + * This file is part of FFmpeg.
   *
 - * Libav is free software; you can redistribute it and/or
 + * FFmpeg is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
 - * Libav is distributed in the hope that it will be useful,
 + * FFmpeg is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
 - * License along with Libav; if not, write to the Free Software
 + * License along with FFmpeg; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
   */
  
  #include "avc.h"
  #include "rtpenc.h"
  
- static const uint8_t *avc_mp4_find_startcode(const uint8_t *start, const uint8_t *end, int nal_length_size)
- {
-     unsigned int res = 0;
-     if (end - start < nal_length_size)
-         return NULL;
-     while (nal_length_size--)
-         res = (res << 8) | *start++;
-     if (res > end - start)
-         return NULL;
-     return start + res;
- }
  static void nal_send(AVFormatContext *s1, const uint8_t *buf, int size, int last)
  {
      RTPMuxContext *s = s1->priv_data;
@@@ -88,14 -73,14 +73,14 @@@ void ff_rtp_send_h264(AVFormatContext *
  
      s->timestamp = s->cur_timestamp;
      if (s->nal_length_size)
-         r = avc_mp4_find_startcode(buf1, end, s->nal_length_size) ? buf1 : end;
+         r = ff_avc_mp4_find_startcode(buf1, end, s->nal_length_size) ? buf1 : end;
      else
          r = ff_avc_find_startcode(buf1, end);
      while (r < end) {
          const uint8_t *r1;
  
          if (s->nal_length_size) {
-             r1 = avc_mp4_find_startcode(r, end, s->nal_length_size);
+             r1 = ff_avc_mp4_find_startcode(r, end, s->nal_length_size);
              if (!r1)
                  r1 = end;
              r += s->nal_length_size;