Skip to content

Commit

Permalink
Move GUID-related objects to riffenc.c and riff.c.
Browse files Browse the repository at this point in the history
This simplifies the following eac3-in-wav patch.
  • Loading branch information
cehoyos committed Jan 28, 2014
1 parent 4151b99 commit 862174e
Show file tree
Hide file tree
Showing 8 changed files with 27 additions and 27 deletions.
1 change: 1 addition & 0 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down
2 changes: 0 additions & 2 deletions libavformat/asf.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
6 changes: 0 additions & 6 deletions libavformat/asfenc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
8 changes: 8 additions & 0 deletions libavformat/riff.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 }
};
2 changes: 2 additions & 0 deletions libavformat/riff.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down
8 changes: 0 additions & 8 deletions libavformat/riffdec.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
16 changes: 16 additions & 0 deletions libavformat/riffenc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
11 changes: 0 additions & 11 deletions libavformat/wtvenc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
*/
Expand Down

0 comments on commit 862174e

Please sign in to comment.