[FFmpeg-devel] [PATCH] avformat/rawenc: Store sample number for ADX
Michael Niedermayer
michaelni at gmx.at
Sun Jun 21 12:25:55 CEST 2015
On Sun, Jun 21, 2015 at 08:32:46AM +0000, Paul B Mahol wrote:
> Dana 21. 6. 2015. 00:32 osoba "Michael Niedermayer" <michaelni at gmx.at>
> napisala je:
> >
> > Fixes Ticket4540
> >
> > Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> > ---
> > libavformat/rawenc.c | 20 ++++++++++++++++++++
> > tests/ref/acodec/adpcm-adx | 2 +-
> > tests/ref/acodec/adpcm-adx-trellis | 2 +-
> > 3 files changed, 22 insertions(+), 2 deletions(-)
> >
> > diff --git a/libavformat/rawenc.c b/libavformat/rawenc.c
> > index e59f1ae..d65c7c7 100644
> > --- a/libavformat/rawenc.c
> > +++ b/libavformat/rawenc.c
> > @@ -56,6 +56,25 @@ AVOutputFormat ff_ac3_muxer = {
> > #endif
> >
> > #if CONFIG_ADX_MUXER
> > +
> > +static int adx_write_trailer(AVFormatContext *s)
> > +{
> > + AVIOContext *pb = s->pb;
> > + AVCodecContext *avctx = s->streams[0]->codec;
> > +
> > + if (pb->seekable) {
> > + int64_t file_size = avio_tell(pb);
> > + uint64_t sample_count = (file_size - 36) / avctx->channels / 18
> * 32;
> > + if (sample_count <= UINT32_MAX) {
> > + avio_seek(pb, 12, SEEK_SET);
> > + avio_wb32(pb, sample_count);
> > + avio_seek(pb, file_size, SEEK_SET);
> > + }
> > + }
> > +
> > + return 0;
> > +}
> > +
> > AVOutputFormat ff_adx_muxer = {
> > .name = "adx",
> > .long_name = NULL_IF_CONFIG_SMALL("CRI ADX"),
> > @@ -64,6 +83,7 @@ AVOutputFormat ff_adx_muxer = {
> > .video_codec = AV_CODEC_ID_NONE,
> > .write_header = force_one_stream,
> > .write_packet = ff_raw_write_packet,
> > + .write_trailer = adx_write_trailer,
> > .flags = AVFMT_NOTIMESTAMPS,
> > };
> > #endif
> > diff --git a/tests/ref/acodec/adpcm-adx b/tests/ref/acodec/adpcm-adx
> > index 34dd9b6..8c40100 100644
> > --- a/tests/ref/acodec/adpcm-adx
> > +++ b/tests/ref/acodec/adpcm-adx
> > @@ -1,4 +1,4 @@
> > -d7ec7d52a2f5c91464812d031b07cc1d *tests/data/fate/acodec-adpcm-adx.adx
> > +6bf1a8e5ec9cc958a31cb2b1b66bfc75 *tests/data/fate/acodec-adpcm-adx.adx
> > 297720 tests/data/fate/acodec-adpcm-adx.adx
> > 5b5a436ec9d528d6eb0bebaf667521b0
> *tests/data/fate/acodec-adpcm-adx.out.wav
> > stddev: 2549.93 PSNR: 28.20 MAXDIFF:57514 bytes: 1058400/ 1058432
> > diff --git a/tests/ref/acodec/adpcm-adx-trellis
> b/tests/ref/acodec/adpcm-adx-trellis
> > index d620d4a..039f69f 100644
> > --- a/tests/ref/acodec/adpcm-adx-trellis
> > +++ b/tests/ref/acodec/adpcm-adx-trellis
> > @@ -1,4 +1,4 @@
> > -d7ec7d52a2f5c91464812d031b07cc1d
> *tests/data/fate/acodec-adpcm-adx-trellis.adx
> > +6bf1a8e5ec9cc958a31cb2b1b66bfc75
> *tests/data/fate/acodec-adpcm-adx-trellis.adx
> > 297720 tests/data/fate/acodec-adpcm-adx-trellis.adx
> > 5b5a436ec9d528d6eb0bebaf667521b0
> *tests/data/fate/acodec-adpcm-adx-trellis.out.wav
> > stddev: 2549.93 PSNR: 28.20 MAXDIFF:57514 bytes: 1058400/ 1058432
> > --
> > 1.7.9.5
> >
> > _______________________________________________
> > ffmpeg-devel mailing list
> > ffmpeg-devel at ffmpeg.org
> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> LGTM
applied
thanks
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
I have often repented speaking, but never of holding my tongue.
-- Xenocrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150621/103e06bc/attachment.asc>
More information about the ffmpeg-devel
mailing list