Commit Graph

40 Commits

Author SHA1 Message Date
Janne Grunau
f028d4d1c3 mxfdec: hybrid demuxing/seeking solution
This uses the old demuxing code for OP1a and separate demuxing code for OPAtom.
Timestamp output is added to the old demuxing code.

The seeking code is made to seek to the start of the desired EditUnit only,
from which the normal demuxing code takes over (if OP1a). This means we
do not use delta entries or slices, only StreamOffsets. OPAtom seeking
basically works like before.

This also makes D-10 seeking behave the same way as OP1a and OPAtom. In other
words, we allow seeking before the start or past the end for D-10 too.

Based on several patches by Tomas Härdin <tomas.hardin@codemill.se> and
Reimar Döffinger <Reimar.Doeffinger@gmx.de>.

Changed av_calloc to av_mallocz, added overflow checks.
2012-01-22 14:40:53 +01:00
Luca Barbato
5a2e251645 fate: update asf seektest 2011-12-02 16:43:05 +01:00
Justin Ruggles
ca12401376 fate: split acodec-pcm into individual tests
this removes 2 redundant tests for pcm in mkv.
we can add the coverage back in later as fate-lavf tests if needed.
2011-12-01 13:27:56 -05:00
Mans Rullgard
3fe5fc9325 regtest: split video encode/decode tests into individual targets
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-22 12:13:04 +00:00
Diego Biurrun
c6cd0e17f3 Replace vendor string in Ogg and FLAC muxers. 2011-11-02 10:43:39 +01:00
Justin Ruggles
82ed4f1ed8 remove the zork pcm seek test
this was forgotten when the encoder was removed
2011-10-26 18:48:02 -04:00
John Brooks
2c4e08d893 riff: always generate a proper WAVEFORMATEX structure in ff_put_wav_header
The cbSize field should be included in all cases, even with PCM where
its value is ignored.

Fixes encoding PCM audio in Matroska for some players which insist on
a full WAVEFORMATEX structure for A_MS/ACM audio.

Since fate uses wav files for the audio test a larger number of tests
has changed checksums or shifted positions due to the 2 byte longer
wave header.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-14 13:28:58 +02:00
Mans Rullgard
bc3a741fa0 fate: remove seek-mpeg2reuse test
The input file for this test is no longer generated.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-28 02:30:30 +01:00
Justin Ruggles
ae264bb29b ac3enc: Add channel coupling support for the fixed-point AC-3 encoder.
Update FATE references accordingly.
2011-09-05 10:09:44 -04:00
Anton Khirnov
f5302e5dcf ffmpeg: deprecate loop_input and loop_output options
They were replaced by (de)muxer private options.
2011-07-08 19:58:19 +02:00
Vitor Sessak
ecc297308f lavf/utils: fix ff_interleave_compare_dts corner case.
This should fix behavior introduced by commit
96573c0d76. Av_rescale_rnd() is not
lossless so if two timestamps are equal after being rescaled they are
not always actually identical. This patch use av_compare_ts() to get
always a correct result.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:53:19 -04:00
Justin Ruggles
79ee8977c2 ac3enc: correct the flipped sign in the ac3_fixed encoder 2011-04-26 17:19:37 -04:00
Vitor Sessak
96573c0d76 lavf/utils.c: Order packets with identical PTS by stream index.
This allows for more reproducible results when using multi-threading.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-04-12 19:06:26 -04:00
Justin Ruggles
e05a3ac713 ac3enc: select bandwidth based on bit rate, sample rate, and number of
full-bandwidth channels.

This reduces high-frequency artifacts and improves the quality of the lower
frequency audio at low bit rates.
2011-04-03 20:59:14 -04:00
Justin Ruggles
e6e9823488 Add apply_window_int16() to DSPContext with x86-optimized versions and use it
in the ac3_fixed encoder.
2011-03-22 21:08:30 -04:00
Mans Rullgard
487fef2dcc asf: update seek test reference
This updates the seek test reference to match de11ee9.  Before this
change, most of the seeks requested positions before the supposed
start of the file (the preroll time), resulting in the first packet
being returned.  With the preroll subtracted, some of these seeks
will land within the file and some beyond the end, thus returning
a different set of packets.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-17 19:51:28 +00:00
Justin
323e6fead0 ac3enc: do not right-shift fixed-point coefficients in the final MDCT stage.
This increases the accuracy of coefficients, leading to improved quality.
Rescaling of the coefficients to full 25-bit accuracy is done rather than
offsetting the exponent values. This requires coefficient scaling to be done
before determining the rematrixing strategy. Also, the rematrixing strategy
calculation must use 64-bit math to prevent overflow due to the higher
precision coefficients.
2011-03-14 08:45:26 -04:00
Justin Ruggles
5b54d4b376 ac3enc: fix bug in stereo rematrixing decision.
The rematrixing strategy reuse flags are not reset between frames, so they
need to be initialized for all blocks, not just block 0.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-16 23:39:57 +00:00
Justin Ruggles
dc7e07ac1f Add stereo rematrixing support to the AC-3 encoders.
This improves the audio quality significantly for stereo source with both the
fixed-point and floating-point AC-3 encoders.
Update acodec-ac3_fixed and seek-ac3_rm test references.

Originally committed as revision 26271 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-08 23:21:17 +00:00
Justin Ruggles
ec44dd5fc2 Change the default dB-per-bit code from 2 to 3.
This gives slightly better quality in PEAQ tests.
Code 3 gives a dBpb value of 2816 = -132dB (128 psd units = -6dB), which
corresponds to 22 bits. Since the exponents have an offset applied, the
16-bit source looks like 24-bit source to the bit allocation routine.
So using dBpb code=3 is a closer match to the exponent range.

Regression test refs updated for acodec-ac3, lavf-rm, and seek-ac3_rm.

Originally committed as revision 26144 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-29 19:17:22 +00:00
Justin Ruggles
295ab2af6e Change FIX15() back to clipping to -32767..32767.
This avoids a 16-bit overflow in mdct512() due to a -32768 value in costab.
References updated for acodec-ac3, lavf-rm, and seek-ac3_rm tests.
Thanks to Måns Rullgård for finding the bug.

Originally committed as revision 26071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-21 21:18:58 +00:00
Justin Ruggles
8c634b707b Update the test references for lavf-rm and seek-ac3_rm.
The references changed due to r25956.

Originally committed as revision 26004 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-14 16:14:52 +00:00
Michael Chinen
475ae04a27 Add a FLAC parser.
Seek test reference updated because FLAC seeking now works properly.
Fixes roundup issue 1150.

Patch by Michael Chinen [mchinen at gmail]

Originally committed as revision 25914 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-07 14:50:50 +00:00
Michael Niedermayer
94bdb1f80c Avoid negative SCR in mpeg ps muxer.
Fixes a scr issue reported with dvdauthor ([FFmpeg-user] FFMPEG encoded MPEG-2 video causes error in DVDAuthor)

Originally committed as revision 25512 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-16 21:31:31 +00:00
Måns Rullgård
8c067b5dfd Update rv20 seek test reference
Originally committed as revision 25204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-26 09:02:51 +00:00
Måns Rullgård
f729c4aea8 regtest: rename seektest ref files using alphanumeric chars only
Originally committed as revision 24345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-20 10:09:54 +00:00
Måns Rullgård
48ede394d5 regtest: add seektest reference files for rgb/yuv in avi
Originally committed as revision 23506 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-06 16:50:18 +00:00
James Zern
ac9baa716b matroskaenc: Mux clusters better
Start them on keyframes when reasonable, and delay writing audio packets
to help ensure that there's audio samples available for the first frame in
clusters.

Patch by James Zern <jzern at google>

Originally committed as revision 23473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:40:50 +00:00
David Conrad
7bb83d8ddf matroskaenc: Write codec time base as default duration for video tracks.
This isn't exactly semantically equivalent, but the field has already been
long abused to mean this, and writing it helps in determining a decent cfr
time base when transcoding from a mkv where the video codec stores none (VP8).

Originally committed as revision 23284 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-24 08:58:19 +00:00
David Conrad
85e86b6810 Update regression tests after removing track timecode scale from mkvenc
Originally committed as revision 23248 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-22 02:13:01 +00:00
Baptiste Coudurier
95ca3b1e20 In ogg muxer, pack multiple frames into one page, much lower overhead
Originally committed as revision 23231 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-21 21:38:54 +00:00
Michael Niedermayer
008593be52 Change default for bidir_refine to 1.
Originally committed as revision 22778 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 14:08:51 +00:00
James Darnley
66061a1220 Add VorbisComment writing to FLAC files.
Patch by James Darnley <james darnley at gmail>.

Originally committed as revision 22605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 13:36:43 +00:00
Michael Niedermayer
bd57cae86f use mpeg2 quantization bias for mjpeg.
this seems to improve RD performance.

Originally committed as revision 22550 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 16:37:02 +00:00
David Conrad
873d117e4b oggdec: Determine pts and filepos on a packet basis in read_timestamp
This takes into account whether the granule defines the start or end times
of packets, and sets the correct file offset of the associated page.

Originally committed as revision 22462 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:56 +00:00
David Conrad
50a9d32310 oggdec: Set data_offset to the right value
Otherwise it gets set automatically to a page midstream and prevents seeking
to the first page.

Originally committed as revision 22454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:29 +00:00
David Conrad
73823cb941 oggdec: Save offset of the page needed to reconstruct the current packet
Originally committed as revision 22453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11 07:17:24 +00:00
Baptiste Coudurier
7082ea56c8 mpegts vbr muxing, activated when muxing rate is not supplied by the
user.

Originally committed as revision 22352 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 23:46:19 +00:00
Måns Rullgård
ecefc5ddbd regtest: run seektest on image sequences
Seeking on image sequences doesn't actually work, so this
test isn't very useful until that capability is added.

Originally committed as revision 22286 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 19:50:56 +00:00
Måns Rullgård
d7096d6fdd Run seektest on all generated files
Originally committed as revision 22158 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02 21:59:16 +00:00