1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

Merge commit 'c35f0e8495e34c2082dcde805e9323c9f6a4cb0a'

* commit 'c35f0e8495e34c2082dcde805e9323c9f6a4cb0a':
  au: Reorder code so that both muxer and demuxer are under #ifdefs
  fate: Move RALF test into lossless audio group
  cosmetics: Use consistent names for multiple inclusion guards.

Conflicts:
	libavformat/au.c
	tests/fate/lossless-audio.mak
	tests/fate/real.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2012-12-18 14:27:59 +01:00
commit 94ecbe23c5
6 changed files with 71 additions and 71 deletions

View File

@ -19,8 +19,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVCODEC_GSMDEC_DATA
#define AVCODEC_GSMDEC_DATA
#ifndef AVCODEC_GSMDEC_DATA_H
#define AVCODEC_GSMDEC_DATA_H
#include <stdint.h>
#include "avcodec.h"
@ -41,4 +41,4 @@ typedef struct GSMContext {
extern const uint16_t ff_gsm_long_term_gain_tab[4];
extern const int16_t ff_gsm_dequant_tab[64][8];
#endif /* AVCODEC_GSMDEC_DATA */
#endif /* AVCODEC_GSMDEC_DATA_H */

View File

@ -19,8 +19,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVCODEC_OPTIONS_TABLE
#define AVCODEC_OPTIONS_TABLE
#ifndef AVCODEC_OPTIONS_TABLE_H
#define AVCODEC_OPTIONS_TABLE_H
#include <float.h>
#include <limits.h>
@ -414,4 +414,4 @@ static const AVOption options[]={
#undef DEFAULT
#undef OFFSET
#endif // AVCODEC_OPTIONS_TABLE
#endif /* AVCODEC_OPTIONS_TABLE_H */

View File

@ -51,62 +51,7 @@ static const AVCodecTag codec_au_tags[] = {
{ AV_CODEC_ID_NONE, 0 },
};
#if CONFIG_AU_MUXER
/* AUDIO_FILE header */
static int put_au_header(AVIOContext *pb, AVCodecContext *enc)
{
if(!enc->codec_tag)
return -1;
ffio_wfourcc(pb, ".snd"); /* magic number */
avio_wb32(pb, AU_HEADER_SIZE); /* header size */
avio_wb32(pb, AU_UNKNOWN_SIZE); /* data size */
avio_wb32(pb, (uint32_t)enc->codec_tag); /* codec ID */
avio_wb32(pb, enc->sample_rate);
avio_wb32(pb, (uint32_t)enc->channels);
avio_wb64(pb, 0); /* annotation field */
return 0;
}
static int au_write_header(AVFormatContext *s)
{
AVIOContext *pb = s->pb;
/* format header */
if (put_au_header(pb, s->streams[0]->codec) < 0) {
return -1;
}
avio_flush(pb);
return 0;
}
static int au_write_packet(AVFormatContext *s, AVPacket *pkt)
{
AVIOContext *pb = s->pb;
avio_write(pb, pkt->data, pkt->size);
return 0;
}
static int au_write_trailer(AVFormatContext *s)
{
AVIOContext *pb = s->pb;
int64_t file_size;
if (s->pb->seekable) {
/* update file size */
file_size = avio_tell(pb);
avio_seek(pb, 8, SEEK_SET);
avio_wb32(pb, (uint32_t)(file_size - AU_HEADER_SIZE));
avio_seek(pb, file_size, SEEK_SET);
avio_flush(pb);
}
return 0;
}
#endif /* CONFIG_AU_MUXER */
#if CONFIG_AU_DEMUXER
static int au_probe(AVProbeData *p)
{
@ -177,7 +122,6 @@ static int au_read_header(AVFormatContext *s)
return 0;
}
#if CONFIG_AU_DEMUXER
AVInputFormat ff_au_demuxer = {
.name = "au",
.long_name = NULL_IF_CONFIG_SMALL("Sun AU"),
@ -187,9 +131,65 @@ AVInputFormat ff_au_demuxer = {
.read_seek = ff_pcm_read_seek,
.codec_tag = (const AVCodecTag* const []){ codec_au_tags, 0 },
};
#endif
#endif /* CONFIG_AU_DEMUXER */
#if CONFIG_AU_MUXER
/* AUDIO_FILE header */
static int put_au_header(AVIOContext *pb, AVCodecContext *enc)
{
if(!enc->codec_tag)
return -1;
ffio_wfourcc(pb, ".snd"); /* magic number */
avio_wb32(pb, AU_HEADER_SIZE); /* header size */
avio_wb32(pb, AU_UNKNOWN_SIZE); /* data size */
avio_wb32(pb, (uint32_t)enc->codec_tag); /* codec ID */
avio_wb32(pb, enc->sample_rate);
avio_wb32(pb, (uint32_t)enc->channels);
avio_wb64(pb, 0); /* annotation field */
return 0;
}
static int au_write_header(AVFormatContext *s)
{
AVIOContext *pb = s->pb;
/* format header */
if (put_au_header(pb, s->streams[0]->codec) < 0) {
return -1;
}
avio_flush(pb);
return 0;
}
static int au_write_packet(AVFormatContext *s, AVPacket *pkt)
{
AVIOContext *pb = s->pb;
avio_write(pb, pkt->data, pkt->size);
return 0;
}
static int au_write_trailer(AVFormatContext *s)
{
AVIOContext *pb = s->pb;
int64_t file_size;
if (s->pb->seekable) {
/* update file size */
file_size = avio_tell(pb);
avio_seek(pb, 8, SEEK_SET);
avio_wb32(pb, (uint32_t)(file_size - AU_HEADER_SIZE));
avio_seek(pb, file_size, SEEK_SET);
avio_flush(pb);
}
return 0;
}
AVOutputFormat ff_au_muxer = {
.name = "au",
.long_name = NULL_IF_CONFIG_SMALL("Sun AU"),
@ -202,4 +202,4 @@ AVOutputFormat ff_au_muxer = {
.write_trailer = au_write_trailer,
.codec_tag = (const AVCodecTag* const []){ codec_au_tags, 0 },
};
#endif //CONFIG_AU_MUXER
#endif /* CONFIG_AU_MUXER */

View File

@ -18,8 +18,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#ifndef AVFORMAT_OPTIONS_TABLE
#define AVFORMAT_OPTIONS_TABLE
#ifndef AVFORMAT_OPTIONS_TABLE_H
#define AVFORMAT_OPTIONS_TABLE_H
#include <limits.h>
@ -82,4 +82,4 @@ static const AVOption options[]={
#undef DEFAULT
#undef OFFSET
#endif // AVFORMAT_OPTIONS_TABLE
#endif /* AVFORMAT_OPTIONS_TABLE_H */

View File

@ -7,6 +7,9 @@ fate-lossless-meridianaudio: CMD = md5 -i $(SAMPLES)/lossless-audio/luckynight-p
FATE_SAMPLES_LOSSLESS_AUDIO-$(call DEMDEC, APE, APE) += fate-lossless-monkeysaudio
fate-lossless-monkeysaudio: CMD = md5 -i $(SAMPLES)/lossless-audio/luckynight-partial.ape -f s16le
FATE_SAMPLES_LOSSLESS_AUDIO-$(call DEMDEC, RM, RALF) += fate-ralf
fate-ralf: CMD = md5 -i $(SAMPLES)/lossless-audio/luckynight-partial.rmvb -vn -f s16le
FATE_SAMPLES_LOSSLESS_AUDIO-$(call DEMDEC, SHORTEN, SHORTEN) += fate-lossless-shorten
fate-lossless-shorten: CMD = md5 -i $(SAMPLES)/lossless-audio/luckynight-partial.shn -f s16le

View File

@ -12,9 +12,6 @@ fate-ra-cook: CMD = pcm -i $(SAMPLES)/real/ra_cook.rm
fate-ra-cook: CMP = oneoff
fate-ra-cook: REF = $(SAMPLES)/real/ra_cook.pcm
FATE_REAL-$(call DEMDEC, RM, RALF) += fate-ralf
fate-ralf: CMD = md5 -i $(SAMPLES)/lossless-audio/luckynight-partial.rmvb -vn -f s16le
FATE_REAL-$(call DEMDEC, RM, RV30) += fate-rv30
fate-rv30: CMD = framecrc -flags +bitexact -dct fastint -idct simple -i $(SAMPLES)/real/rv30.rm -an