Commit 4453f6b8 authored by Michael Niedermayer's avatar Michael Niedermayer

Merge remote-tracking branch 'qatar/master'

* qatar/master:
  flv: add support for G.711
  doc: git: Add checklist with test steps to perform before pushing
  flvenc: K&R formatting cosmetics
  movenc: Add channel layouts for PCM.

Conflicts:
	libavformat/flvenc.c
	tests/ref/fate/acodec-pcm-s16be
	tests/ref/fate/acodec-pcm-s24be
	tests/ref/fate/acodec-pcm-s32be
	tests/ref/fate/acodec-pcm-s8
Merged-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parents 7877b50d b92c7ee6
......@@ -346,6 +346,54 @@ git checkout -b svn_23456 $SHA1
where @var{$SHA1} is the commit hash from the @command{git log} output.
@chapter pre-push checklist
Once you have a set of commits that you feel are ready for pushing,
work through the following checklist to doublecheck everything is in
proper order. This list tries to be exhaustive. In case you are just
pushing a typo in a comment, some of the steps may be unnecessary.
Apply your common sense, but if in doubt, err on the side of caution.
First make sure your Git repository is on a branch that is a direct
descendant of the FFmpeg master branch, which is the only one from which
pushing to FFmpeg is possible. Then run the following command:
@itemize
@item @command{git log --patch --stat origin/master..}
to make sure that only the commits you want to push are pending, that
the log messages of the commits are correct and descriptive and contain
no cruft from @command{git am} and to doublecheck that the commits you
want to push really only contain the changes they are supposed to contain.
@item @command{git status}
to ensure no local changes still need to be committed and that no local
changes may have thrown off the results of your testing.
@end itemize
Next let the code pass through a full run of our testsuite. Before you do,
the command @command{make fate-rsync} will update the test samples. Changes
to the samples set are not very common and commits depending on samples
changes are delayed for at least 24 hours to allow the new samples to
propagate, so updating it once per day is sufficient. Now execute
@itemize
@item @command{make distclean}
@item @command{/path/to/ffmpeg/configure}
@item @command{make check}
@end itemize
While the test suite covers a wide range of possible problems, it is not
a panacea. Do not hesitate to perform any other tests necessary to convince
yourself that the changes you are about to push actually work as expected.
Also note that every single commit should pass the test suite, not just
the result of a series of patches. So if you have a series of related
commits, run the test suite on every single commit.
@chapter Server Issues
Contact the project admins @email{root@@ffmpeg.org} if you have technical
......
......@@ -94,6 +94,8 @@ enum {
FLV_CODECID_NELLYMOSER_16KHZ_MONO = 4 << FLV_AUDIO_CODECID_OFFSET,
FLV_CODECID_NELLYMOSER_8KHZ_MONO = 5 << FLV_AUDIO_CODECID_OFFSET,
FLV_CODECID_NELLYMOSER = 6 << FLV_AUDIO_CODECID_OFFSET,
FLV_CODECID_PCM_ALAW = 7 << FLV_AUDIO_CODECID_OFFSET,
FLV_CODECID_PCM_MULAW = 8 << FLV_AUDIO_CODECID_OFFSET,
FLV_CODECID_AAC = 10<< FLV_AUDIO_CODECID_OFFSET,
FLV_CODECID_SPEEX = 11<< FLV_AUDIO_CODECID_OFFSET,
};
......
......@@ -108,6 +108,14 @@ static void flv_set_audio_codec(AVFormatContext *s, AVStream *astream, AVCodecCo
case FLV_CODECID_NELLYMOSER:
acodec->codec_id = CODEC_ID_NELLYMOSER;
break;
case FLV_CODECID_PCM_MULAW:
acodec->sample_rate = 8000;
acodec->codec_id = CODEC_ID_PCM_MULAW;
break;
case FLV_CODECID_PCM_ALAW:
acodec->sample_rate = 8000;
acodec->codec_id = CODEC_ID_PCM_ALAW;
break;
default:
av_log(s, AV_LOG_INFO, "Unsupported audio codec (%x)\n", flv_codecid >> FLV_AUDIO_CODECID_OFFSET);
acodec->codec_tag = flv_codecid >> FLV_AUDIO_CODECID_OFFSET;
......
This diff is collapsed.
......@@ -414,6 +414,20 @@ static const enum MovChannelLayoutTag mov_ch_layouts_alac[] = {
0,
};
static const enum MovChannelLayoutTag mov_ch_layouts_wav[] = {
MOV_CH_LAYOUT_MONO,
MOV_CH_LAYOUT_STEREO,
MOV_CH_LAYOUT_MATRIXSTEREO,
MOV_CH_LAYOUT_MPEG_3_0_A,
MOV_CH_LAYOUT_QUADRAPHONIC,
MOV_CH_LAYOUT_MPEG_5_0_A,
MOV_CH_LAYOUT_MPEG_5_1_A,
MOV_CH_LAYOUT_MPEG_6_1_A,
MOV_CH_LAYOUT_MPEG_7_1_A,
MOV_CH_LAYOUT_MPEG_7_1_C,
MOV_CH_LAYOUT_SMPTE_DTV,
};
static const struct {
enum CodecID codec_id;
const enum MovChannelLayoutTag *layouts;
......@@ -421,6 +435,18 @@ static const struct {
{ CODEC_ID_AAC, mov_ch_layouts_aac },
{ CODEC_ID_AC3, mov_ch_layouts_ac3 },
{ CODEC_ID_ALAC, mov_ch_layouts_alac },
{ CODEC_ID_PCM_U8, mov_ch_layouts_wav },
{ CODEC_ID_PCM_S8, mov_ch_layouts_wav },
{ CODEC_ID_PCM_S16LE, mov_ch_layouts_wav },
{ CODEC_ID_PCM_S16BE, mov_ch_layouts_wav },
{ CODEC_ID_PCM_S24LE, mov_ch_layouts_wav },
{ CODEC_ID_PCM_S24BE, mov_ch_layouts_wav },
{ CODEC_ID_PCM_S32LE, mov_ch_layouts_wav },
{ CODEC_ID_PCM_S32BE, mov_ch_layouts_wav },
{ CODEC_ID_PCM_F32LE, mov_ch_layouts_wav },
{ CODEC_ID_PCM_F32BE, mov_ch_layouts_wav },
{ CODEC_ID_PCM_F64LE, mov_ch_layouts_wav },
{ CODEC_ID_PCM_F64BE, mov_ch_layouts_wav },
{ CODEC_ID_NONE, NULL },
};
......
8bffa66afe9e17366af11e77882518a0 *tests/data/fate/acodec-pcm-s16be.mov
d00ca427a66be2e33ca8d63bcde41316 *tests/data/fate/acodec-pcm-s16be.mov
1059069 tests/data/fate/acodec-pcm-s16be.mov
64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-s16be.out.wav
stddev: 0.00 PSNR:999.99 MAXDIFF: 0 bytes: 1058400/ 1058400
e3013cfce9b792acb9d572268012160d *tests/data/fate/acodec-pcm-s24be.mov
5d843e1f56796aae3185016f164b16b7 *tests/data/fate/acodec-pcm-s24be.mov
1588269 tests/data/fate/acodec-pcm-s24be.mov
64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-s24be.out.wav
stddev: 0.00 PSNR:999.99 MAXDIFF: 0 bytes: 1058400/ 1058400
f3ef00480e89c5c791e87b8af1cc167c *tests/data/fate/acodec-pcm-s32be.mov
b34c66c56df1b1e75688929cf20670b9 *tests/data/fate/acodec-pcm-s32be.mov
2117473 tests/data/fate/acodec-pcm-s32be.mov
64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-s32be.out.wav
stddev: 0.00 PSNR:999.99 MAXDIFF: 0 bytes: 1058400/ 1058400
2c504a4e48c19ea1b0e1705893b771bf *tests/data/fate/acodec-pcm-s8.mov
d931dc4fffa2d3398e0f31f97e7d6c3a *tests/data/fate/acodec-pcm-s8.mov
529853 tests/data/fate/acodec-pcm-s8.mov
651d4eb8d98dfcdda96ae6c43d8f156b *tests/data/fate/acodec-pcm-s8.out.wav
stddev: 147.89 PSNR: 52.93 MAXDIFF: 255 bytes: 1058400/ 1058400
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