Commit 862174ec authored by Carl Eugen Hoyos's avatar Carl Eugen Hoyos

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

This simplifies the following eac3-in-wav patch.
parent 4151b995
......@@ -2247,6 +2247,7 @@ wav_demuxer_select="riffdec"
wav_muxer_select="riffenc"
webm_muxer_select="riffenc"
wtv_demuxer_select="riffdec"
wtv_muxer_select="riffenc"
xmv_demuxer_select="riffdec"
xwma_demuxer_select="riffdec"
......
......@@ -189,6 +189,4 @@ extern const AVMetadataConv ff_asf_metadata_conv[];
extern AVInputFormat ff_asf_demuxer;
void ff_put_guid(AVIOContext *s, const ff_asf_guid *g);
#endif /* AVFORMAT_ASF_H */
......@@ -223,12 +223,6 @@ static const AVCodecTag codec_asf_bmp_tags[] = {
#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)
{
int len;
......
......@@ -456,3 +456,11 @@ const struct AVCodecTag *avformat_get_riff_audio_tags(void)
{
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_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);
......
......@@ -29,14 +29,6 @@
#include "avio_internal.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)
{
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_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 "internal.h"
#include "wtv.h"
#include "asf.h"
#define WTV_BIGSECTOR_SIZE (1 << WTV_BIGSECTOR_BITS)
#define INDEX_BASE 0x2
......@@ -130,16 +129,6 @@ typedef struct {
#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
*/
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment