Move GUID-related objects to riffenc.c and riff.c.

This simplifies the following eac3-in-wav patch.
pull/56/head
Carl Eugen Hoyos 11 years ago
parent 4151b9953e
commit 862174ec83
  1. 1
      configure
  2. 2
      libavformat/asf.h
  3. 6
      libavformat/asfenc.c
  4. 8
      libavformat/riff.c
  5. 2
      libavformat/riff.h
  6. 8
      libavformat/riffdec.c
  7. 16
      libavformat/riffenc.c
  8. 11
      libavformat/wtvenc.c

1
configure vendored

@ -2247,6 +2247,7 @@ wav_demuxer_select="riffdec"
wav_muxer_select="riffenc" wav_muxer_select="riffenc"
webm_muxer_select="riffenc" webm_muxer_select="riffenc"
wtv_demuxer_select="riffdec" wtv_demuxer_select="riffdec"
wtv_muxer_select="riffenc"
xmv_demuxer_select="riffdec" xmv_demuxer_select="riffdec"
xwma_demuxer_select="riffdec" xwma_demuxer_select="riffdec"

@ -189,6 +189,4 @@ extern const AVMetadataConv ff_asf_metadata_conv[];
extern AVInputFormat ff_asf_demuxer; extern AVInputFormat ff_asf_demuxer;
void ff_put_guid(AVIOContext *s, const ff_asf_guid *g);
#endif /* AVFORMAT_ASF_H */ #endif /* AVFORMAT_ASF_H */

@ -223,12 +223,6 @@ static const AVCodecTag codec_asf_bmp_tags[] = {
#define PREROLL_TIME 3100 #define PREROLL_TIME 3100
void ff_put_guid(AVIOContext *s, const ff_asf_guid *g)
{
av_assert0(sizeof(*g) == 16);
avio_write(s, *g, sizeof(*g));
}
static void put_str16(AVIOContext *s, const char *tag) static void put_str16(AVIOContext *s, const char *tag)
{ {
int len; int len;

@ -456,3 +456,11 @@ const struct AVCodecTag *avformat_get_riff_audio_tags(void)
{ {
return ff_codec_wav_tags; return ff_codec_wav_tags;
} }
const AVCodecGuid ff_codec_wav_guids[] = {
{ AV_CODEC_ID_AC3, { 0x2C, 0x80, 0x6D, 0xE0, 0x46, 0xDB, 0xCF, 0x11, 0xB4, 0xD1, 0x00, 0x80, 0x5F, 0x6C, 0xBB, 0xEA } },
{ AV_CODEC_ID_ATRAC3P, { 0xBF, 0xAA, 0x23, 0xE9, 0x58, 0xCB, 0x71, 0x44, 0xA1, 0x19, 0xFF, 0xFA, 0x01, 0xE4, 0xCE, 0x62 } },
{ AV_CODEC_ID_EAC3, { 0xAF, 0x87, 0xFB, 0xA7, 0x02, 0x2D, 0xFB, 0x42, 0xA4, 0xD4, 0x05, 0xCD, 0x93, 0x84, 0x3B, 0xDD } },
{ AV_CODEC_ID_MP2, { 0x2B, 0x80, 0x6D, 0xE0, 0x46, 0xDB, 0xCF, 0x11, 0xB4, 0xD1, 0x00, 0x80, 0x5F, 0x6C, 0xBB, 0xEA } },
{ AV_CODEC_ID_NONE }
};

@ -92,6 +92,8 @@ static av_always_inline int ff_guidcmp(const void *g1, const void *g2)
} }
void ff_get_guid(AVIOContext *s, ff_asf_guid *g); void ff_get_guid(AVIOContext *s, ff_asf_guid *g);
void ff_put_guid(AVIOContext *s, const ff_asf_guid *g);
const ff_asf_guid *get_codec_guid(enum AVCodecID id, const AVCodecGuid *av_guid);
enum AVCodecID ff_codec_guid_get_id(const AVCodecGuid *guids, ff_asf_guid guid); enum AVCodecID ff_codec_guid_get_id(const AVCodecGuid *guids, ff_asf_guid guid);

@ -29,14 +29,6 @@
#include "avio_internal.h" #include "avio_internal.h"
#include "riff.h" #include "riff.h"
const AVCodecGuid ff_codec_wav_guids[] = {
{ AV_CODEC_ID_AC3, { 0x2C, 0x80, 0x6D, 0xE0, 0x46, 0xDB, 0xCF, 0x11, 0xB4, 0xD1, 0x00, 0x80, 0x5F, 0x6C, 0xBB, 0xEA } },
{ AV_CODEC_ID_ATRAC3P, { 0xBF, 0xAA, 0x23, 0xE9, 0x58, 0xCB, 0x71, 0x44, 0xA1, 0x19, 0xFF, 0xFA, 0x01, 0xE4, 0xCE, 0x62 } },
{ AV_CODEC_ID_EAC3, { 0xAF, 0x87, 0xFB, 0xA7, 0x02, 0x2D, 0xFB, 0x42, 0xA4, 0xD4, 0x05, 0xCD, 0x93, 0x84, 0x3B, 0xDD } },
{ AV_CODEC_ID_MP2, { 0x2B, 0x80, 0x6D, 0xE0, 0x46, 0xDB, 0xCF, 0x11, 0xB4, 0xD1, 0x00, 0x80, 0x5F, 0x6C, 0xBB, 0xEA } },
{ AV_CODEC_ID_NONE }
};
void ff_get_guid(AVIOContext *s, ff_asf_guid *g) void ff_get_guid(AVIOContext *s, ff_asf_guid *g)
{ {
av_assert0(sizeof(*g) == 16); //compiler will optimize this out av_assert0(sizeof(*g) == 16); //compiler will optimize this out

@ -312,3 +312,19 @@ void ff_riff_write_info(AVFormatContext *s)
ff_riff_write_info_tag(s->pb, t->key, t->value); ff_riff_write_info_tag(s->pb, t->key, t->value);
ff_end_tag(pb, list_pos); ff_end_tag(pb, list_pos);
} }
void ff_put_guid(AVIOContext *s, const ff_asf_guid *g)
{
av_assert0(sizeof(*g) == 16);
avio_write(s, *g, sizeof(*g));
}
const ff_asf_guid *get_codec_guid(enum AVCodecID id, const AVCodecGuid *av_guid)
{
int i;
for (i = 0; av_guid[i].id != AV_CODEC_ID_NONE; i++) {
if (id == av_guid[i].id)
return &(av_guid[i].guid);
}
return NULL;
}

@ -31,7 +31,6 @@
#include "avio_internal.h" #include "avio_internal.h"
#include "internal.h" #include "internal.h"
#include "wtv.h" #include "wtv.h"
#include "asf.h"
#define WTV_BIGSECTOR_SIZE (1 << WTV_BIGSECTOR_BITS) #define WTV_BIGSECTOR_SIZE (1 << WTV_BIGSECTOR_BITS)
#define INDEX_BASE 0x2 #define INDEX_BASE 0x2
@ -130,16 +129,6 @@ typedef struct {
#define write_pad(pb, size) ffio_fill(pb, 0, size) #define write_pad(pb, size) ffio_fill(pb, 0, size)
static const ff_asf_guid *get_codec_guid(enum AVCodecID id, const AVCodecGuid *av_guid)
{
int i;
for (i = 0; av_guid[i].id != AV_CODEC_ID_NONE; i++) {
if (id == av_guid[i].id)
return &(av_guid[i].guid);
}
return NULL;
}
/** /**
* Write chunk header. If header chunk (0x80000000 set) then add to list of header chunks * Write chunk header. If header chunk (0x80000000 set) then add to list of header chunks
*/ */

Loading…
Cancel
Save