Commit Graph

18 Commits

Author SHA1 Message Date
Michael Niedermayer
9829ec1a9c ffm: redesign header format to make it extensible
Currently FFM files generated with one versions of ffmpeg generally
cannot be read by another.
By spliting data into chunks, more fields can saftely be appended to
chunks as well as new chunks added.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-05 16:36:44 +01:00
Michael Niedermayer
79d30321a2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wmaenc: use float planar sample format
  (e)ac3enc: use planar sample format
  aacenc: use planar sample format
  adpcmenc: use planar sample format for adpcm_ima_wav and adpcm_ima_qt
  adpcmenc: move 'ch' variable to higher scope
  adpcmenc: fix 3 instances of variable shadowing
  adpcm_ima_wav: simplify encoding
  libvorbis: use planar sample format
  libmp3lame: use planar sample formats
  vorbisenc: use float planar sample format
  ffm: do not write or read the audio sample format
  parseutils: fix parsing of invalid alpha values
  doc/RELEASE_NOTES: update for the 9 release.
  smoothstreamingenc: Add a more verbose error message
  smoothstreamingenc: Ignore the return value from mkdir
  smoothstreamingenc: Try writing a manifest when opening the muxer
  smoothstreamingenc: Move the output_chunk_list and write_manifest functions up
  smoothstreamingenc: Properly return errors from ism_flush to the caller
  smoothstreamingenc: Check the output UrlContext before accessing it

Conflicts:
	doc/RELEASE_NOTES
	libavcodec/aacenc.c
	libavcodec/ac3enc_template.c
	libavcodec/wmaenc.c
	tests/ref/lavf/ffm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 11:28:38 +02:00
Justin Ruggles
11dcddb97b ffm: do not write or read the audio sample format 2012-10-06 12:21:54 -04:00
Michael Niedermayer
9e9b5159e9 mpegvideo_enc: reduce QMAT_SHIFT to avoid overflow in dnxhd
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-27 19:43:31 +02:00
Anton Khirnov
fc49f22c3b ffmpeg: add support for audio filters.
Some of the FATE changes are due to off-by-one different rounding being used
(lrintf vs av_rescale_q).
Some fate changes are due to 1 audio frame less being encoded (the new variant seems
matching what qatar does and according to ffprobe its closer to the requested duration)
the mapchan feature sadly is lost in this commit because it depends on resampling
being done in ffmpeg.c which is now moved completely into the av filter layer
-async is broken after this commit, this will be fixed in subsequent commits
the new filter reconfiguration system is flawed and will drop a frame on each
parameter change which is why the nelly moser checksums need updating.

Conflicts:

	ffmpeg.c
	tests/ref/fate/smjpeg
2012-05-17 03:29:21 +02:00
Michael Niedermayer
967facb695 Merge remote-tracking branch 'qatar/master'
* qatar/master: (26 commits)
  adxenc: use AVCodec.encode2()
  adxenc: Use the AVFrame in ADXContext for coded_frame
  indeo4: fix out-of-bounds function call.
  configure: Restructure help output.
  configure: Internal-only components should not be command-line selectable.
  vorbisenc: use AVCodec.encode2()
  libvorbis: use AVCodec.encode2()
  libopencore-amrnbenc: use AVCodec.encode2()
  ra144enc: use AVCodec.encode2()
  nellymoserenc: use AVCodec.encode2()
  roqaudioenc: use AVCodec.encode2()
  libspeex: use AVCodec.encode2()
  libvo_amrwbenc: use AVCodec.encode2()
  libvo_aacenc: use AVCodec.encode2()
  wmaenc: use AVCodec.encode2()
  mpegaudioenc: use AVCodec.encode2()
  libmp3lame: use AVCodec.encode2()
  libgsmenc: use AVCodec.encode2()
  libfaac: use AVCodec.encode2()
  g726enc: use AVCodec.encode2()
  ...

Conflicts:
	configure
	libavcodec/Makefile
	libavcodec/ac3enc.c
	libavcodec/adxenc.c
	libavcodec/libgsm.c
	libavcodec/libvorbis.c
	libavcodec/vorbisenc.c
	libavcodec/wmaenc.c
	tests/ref/acodec/g722
	tests/ref/lavf/asf
	tests/ref/lavf/ffm
	tests/ref/lavf/mkv
	tests/ref/lavf/mpg
	tests/ref/lavf/rm
	tests/ref/lavf/ts
	tests/ref/seek/lavf_asf
	tests/ref/seek/lavf_ffm
	tests/ref/seek/lavf_mkv
	tests/ref/seek/lavf_mpg
	tests/ref/seek/lavf_rm
	tests/ref/seek/lavf_ts

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-22 00:40:11 +01:00
Justin Ruggles
b0f75ba272 mpegaudioenc: use AVCodec.encode2()
Update FATE references due to encoder delay.
2012-03-20 18:56:22 -04:00
Michael Niedermayer
79ae084e9b Merge remote-tracking branch 'qatar/master'
* qatar/master: (58 commits)
  amrnbdec: check frame size before decoding.
  cscd: use negative error values to indicate decode_init() failures.
  h264: prevent overreads in intra PCM decoding.
  FATE: do not decode audio in the nuv test.
  dxa: set audio stream time base using the sample rate
  psx-str: do not allow seeking by bytes
  asfdec: Do not set AVCodecContext.frame_size
  vqf: set packet parameters after av_new_packet()
  mpegaudiodec: use DSPUtil.butterflies_float().
  FATE: add mp3 test for sample that exhibited false overreads
  fate: add cdxl test for bit line plane arrangement
  vmnc: return error on decode_init() failure.
  libvorbis: add/update error messages
  libvorbis: use AVFifoBuffer for output packet buffer
  libvorbis: remove unneeded e_o_s check
  libvorbis: check return values for functions that can return errors
  libvorbis: use float input instead of s16
  libvorbis: do not flush libvorbis analysis if dsp state was not initialized
  libvorbis: use VBR by default, with default quality of 3
  libvorbis: fix use of minrate/maxrate AVOptions
  ...

Conflicts:
	Changelog
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/dpxenc.c
	libavcodec/libvorbis.c
	libavcodec/vmnc.c
	libavformat/asfdec.c
	libavformat/id3v2enc.c
	libavformat/internal.h
	libavformat/mp3enc.c
	libavformat/utils.c
	libavformat/version.h
	libswscale/utils.c
	tests/fate/video.mak
	tests/ref/fate/nuv
	tests/ref/fate/prores-alpha
	tests/ref/lavf/ffm
	tests/ref/vsynth1/prores
	tests/ref/vsynth2/prores

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-01 03:17:11 +01:00
Anton Khirnov
63efd83ae1 mpegvideo_enc: add chroma/luma_elim_threshold private options.
Deprecate corresponding AVCodecContext fields.
2012-02-29 07:23:31 +01:00
Anton Khirnov
1270e12e49 avconv: rework -t handling for encoding.
Current code compares the desired recording time with InputStream.pts,
which has a very unclear meaning. Change the code to use actual
timestamps of the frames passed to the encoder.

In several tests, one less frame is encoded, which is more correct.

In the idroq test one more frame is encoded, which is again more
correct.

Behavior with stream copy should be unchanged.
2012-02-07 20:11:11 +01:00
Anton Khirnov
7063b6eaee lavc: increase major version to 54.
The lavf-ffm test results change because ffmenc writes
AVCodecContext.flags/flags2 and the defaults for those change.
2012-01-27 10:38:30 +01:00
Anton Khirnov
9c684feadc libx264: add 'direct-pred' private option
Deprecate AVCodecContext.directpred
2011-09-07 07:27:55 +02:00
Anton Khirnov
0635a8aa21 libx264: add 'partitions' private option
Deprecate AVCodecContext.partitions.
2011-09-07 07:27:18 +02:00
Anton Khirnov
5e8d2e337e lavf: deprecate AVStream.quality.
AVStream is no place for it and it's unused outside of ffmpeg anyway.
2011-07-06 20:10:41 +02:00
Baptiste Coudurier
ab379c671f 10l, update ref value for ffm since default flags changed and are stored in the file
Originally committed as revision 22673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 20:45:26 +00:00
Måns Rullgård
cc3e2472f3 Place regression test output files in subdirs per family
Originally committed as revision 22155 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02 21:41:52 +00:00
Michael Niedermayer
f575f08ccb Correct opts calulation in ffmpeg.c.
This correct the stop point for demuxing with -vcodec copy and -t as well as
packet interleaving. (we already diddrop packets but kept demuxing them
for too long due to opts being wrong)
the change to ffm is due to 2 packets with timestamp 0 being stored
in different order.

Originally committed as revision 21626 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 15:09:04 +00:00
Måns Rullgård
eca478c317 regtest: split reference files allowing tests to run individually
With this change, the output is checked immediately after each test
has run.  This means commands like "make regtest-mpeg2" can now be
used to run a single test and get meaningful results.

By default, make will abort if any test fails.  To run all tests
regardless, use make -k.

Originally committed as revision 21254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-16 20:18:13 +00:00