OSDN Git Service

Merge commit '71e92414bfd79e56ea6fff174a665ff7b9b86e68'
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 17 Oct 2012 12:30:25 +0000 (14:30 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 17 Oct 2012 12:30:25 +0000 (14:30 +0200)
* commit '71e92414bfd79e56ea6fff174a665ff7b9b86e68':
  lavf: move RIFF INFO tag writing from avienc to riff
  avconv: fix disabling auto mappings with -map_metadata

Conflicts:
ffmpeg_opt.c
libavformat/riff.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
ffmpeg_opt.c
libavformat/avienc.c
libavformat/riff.c
libavformat/riff.h

diff --cc ffmpeg_opt.c
Simple merge
Simple merge
@@@ -1,10 -1,10 +1,10 @@@
  /*
-  * RIFF codec tags
+  * RIFF common functions and data
   * Copyright (c) 2000 Fabrice Bellard
   *
 - * 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.
@@@ -1,10 -1,10 +1,10 @@@
  /*
-  * RIFF codec tags
+  * RIFF common functions and data
   * copyright (c) 2000 Fabrice Bellard
   *
 - * 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.
@@@ -58,32 -58,16 +58,42 @@@ unsigned int ff_codec_get_tag(const AVC
  enum AVCodecID ff_codec_get_id(const AVCodecTag *tags, unsigned int tag);
  void ff_parse_specific_params(AVCodecContext *stream, int *au_rate, int *au_ssize, int *au_scale);
  
 +typedef uint8_t ff_asf_guid[16];
 +
  int ff_read_riff_info(AVFormatContext *s, int64_t size);
  
 +#define FF_PRI_GUID \
 +    "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x"
 +#define FF_ARG_GUID(g) \
 +    g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7],g[8],g[9],g[10],g[11],g[12],g[13],g[14],g[15]
 +
 +static av_always_inline int ff_guidcmp(const void *g1, const void *g2)
 +{
 +    return memcmp(g1, g2, sizeof(ff_asf_guid));
 +}
 +
 +void ff_get_guid(AVIOContext *s, ff_asf_guid *g);
 +
 +typedef struct {
 +    enum AVCodecID id;
 +    ff_asf_guid guid;
 +} AVCodecGuid;
 +
 +enum AVCodecID ff_codec_guid_get_id(const AVCodecGuid *guids, ff_asf_guid guid);
 +
 +extern const AVCodecGuid ff_codec_wav_guids[];
 +
 +#define FF_MEDIASUBTYPE_BASE_GUID \
 +    0x00,0x00,0x10,0x00,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71
 +
+ /**
+  * Write all recognized RIFF tags from s->metadata
+  */
+ void ff_riff_write_info(AVFormatContext *s);
+ /**
+  * Write a single RIFF info tag
+  */
+ void ff_riff_write_info_tag(AVIOContext *pb, const char *tag, const char *str);
  #endif /* AVFORMAT_RIFF_H */