Browse Source

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

This simplifies the following eac3-in-wav patch.
tags/n2.2-rc1
Carl Eugen Hoyos 11 years ago
parent
commit
862174ec83
8 changed files with 27 additions and 27 deletions
  1. +1
    -0
      configure
  2. +0
    -2
      libavformat/asf.h
  3. +0
    -6
      libavformat/asfenc.c
  4. +8
    -0
      libavformat/riff.c
  5. +2
    -0
      libavformat/riff.h
  6. +0
    -8
      libavformat/riffdec.c
  7. +16
    -0
      libavformat/riffenc.c
  8. +0
    -11
      libavformat/wtvenc.c

+ 1
- 0
configure View File

@@ -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"



+ 0
- 2
libavformat/asf.h View File

@@ -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 */

+ 0
- 6
libavformat/asfenc.c View File

@@ -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;


+ 8
- 0
libavformat/riff.c View File

@@ -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
- 0
libavformat/riff.h View File

@@ -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);



+ 0
- 8
libavformat/riffdec.c View File

@@ -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


+ 16
- 0
libavformat/riffenc.c View File

@@ -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;
}

+ 0
- 11
libavformat/wtvenc.c View File

@@ -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
*/


Loading…
Cancel
Save