avformat/rawenc: Store sample number for ADX
Fixes Ticket4540 Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
95ee0fbacf
commit
6c8a05268c
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user