1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-12 19:18:44 +02:00
Commit Graph

523 Commits

Author SHA1 Message Date
Carl Eugen Hoyos
91f359292a Correctly mark non-default streams when muxing matroska.
Fixes ticket #1815.

Reviewed-by: Hendrik Leppkes
2013-01-30 10:28:53 +01:00
Carl Eugen Hoyos
d88d0b6db6 Write forced track flag to matroska files.
Based on a patch by Daniel Pielmeier, daniel pielmeier gmail
Fixes a part of ticket #1815.
2013-01-27 23:24:52 +01:00
Paul B Mahol
ee8d4a4142 matroskaenc: fix -codec copy with TTA
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-24 11:59:43 +00:00
Paul B Mahol
9ddf5631e3 matroskaenc: support TTA muxing
TTA in matroska does not store any private data.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-24 11:59:43 +00:00
Carl Eugen Hoyos
fc50175ba2 Refuse to mux tta into matroska, the output file is broken. 2013-01-24 10:23:00 +01:00
Carl Eugen Hoyos
df39c3ce38 matroskaenc: add codec_tag lists back.
This reverts 312645e :
"Do not set codec_tag property for matroska muxers."

Also adds dummy codec_tag lists with codecs
supported in mkv but not in wav / avi.

Fixes ticket #2169.
2013-01-24 01:22:07 +01:00
Nicolas George
8dbbaf568e lavf/matroskaenc: respect bitexact for attachments.
Use the first 64 bits of the SHA1 of the content as file UID
instead of a random number if the bitexact flag is set.
2013-01-01 19:43:21 +01:00
Nicolas George
2dbc84b1a8 lavf/matroskaenc: check for overflow in display width. 2012-12-13 12:45:07 +01:00
Nicolas George
26db6535fc lavf/matroskaenc: use integers to for display size.
Avoid rounding differences between x86_32 and x86_64.
Fix trac ticket #1997.
2012-12-12 20:59:34 +01:00
Michael Niedermayer
e377b50b2d matroskaenc: avoid implicit truncation in avio_w*
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-24 15:27:01 +02:00
Michael Niedermayer
dd84efe3c7 matroskaenc: Fix hypothetical integer overflows
Fixes CID700562-7
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 19:05:15 +02:00
Michael Niedermayer
b1f517f503 matroskaenc: check avio_open_dyn_buf() retuen code
Fixes CID703629
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-20 19:05:15 +02:00
Clément Bœsch
b08273c9ca lavf/mkv: avoid negative ts by default.
This fixes playback in some circumstances (like webm in firefox).
Regression after 2c34367b.

It is also matching the Matroska specifications:
http://matroska.org/technical/specs/notes.html, "The quick eye will
notice that if a Cluster's Timecode is set to zero, it is possible to
have Blocks with a negative Raw Timecode. Blocks with a negative Raw
Timecode are not valid."
2012-10-15 09:19:21 +02:00
Michael Niedermayer
50b5477616 Merge commit 'b94e4acb4874843e914fd3cb8e089aff0756bb4a'
* commit 'b94e4acb4874843e914fd3cb8e089aff0756bb4a':
  cmdutils_read_file: increment *size after writing the trailing \0
  af_resample: unref out_buf when avresample_convert returns 0
  af_amix: prevent memory leak on error path
  vc1dec: prevent memory leak in error path
  vc1dec: prevent memory leak on av_realloc error
  af_channelmap: free old extended_data on reallocation
  avconv: simplify memory allocation in copy_chapters
  matroskaenc: check cue point validity before reallocation
  swfenc: error out for more than 1 audio or video stream
  build: link test programs only against static libs

Conflicts:
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-10 13:18:05 +02:00
Janne Grunau
4ffbe3f3a5 matroskaenc: check cue point validity before reallocation
Prevents memory leak and possible access to freed memory.
Fixes CID605744.
2012-10-09 15:39:05 +02:00
Michael Niedermayer
87244c8f20 matroskaenc: remove MATROSKA_ID_VIDEODISPLAYUNIT 3
Should fix ticket 1754

Thanks-to: Moritz Bunkus <moritz@bunkus.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-07 12:48:31 +02:00
Michael Niedermayer
b8044972c4 Merge commit '117d8c6d1f1c187ffc6098d9618457e00534e013'
* commit '117d8c6d1f1c187ffc6098d9618457e00534e013':
  matroska: implement support for ProRes
  matroska: implement support for ALAC

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 19:43:38 +02:00
Luca Barbato
117d8c6d1f matroska: implement support for ProRes
Support Matroska native formatting.

On demuxing prepend a Frame container atom (32bit big endian encoded
frame size and 'icpf' string).
On muxing remove it.
2012-09-19 20:34:14 +02:00
Moritz Bunkus
8071dca3d5 matroska: implement support for ALAC
Support Matroska native formatting.

On demuxing reconstruct the 36-bytes QuickTime atom that the ALAC
decoder expects by prepending the "atom size", "tag" and
"tag version" fields missing from the Matroska's CodecPrivate
element.

On muxing remove the initial 12 bytes

Sample files are available:
http://www.bunkus.org/videotools/mkvtoolnix/samples/alac/alac-in-matroska.mka
and the CoreAudio file it was created from with today's mkvmerge:
http://www.bunkus.org/videotools/mkvtoolnix/samples/alac/alac-in-matroska-source.caf

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-19 20:34:14 +02:00
Michael Niedermayer
f276a490f0 Merge commit '3f7fd59d151a2773f0e2e93e56b6b13ec6e5334b'
* commit '3f7fd59d151a2773f0e2e93e56b6b13ec6e5334b':
  avformat: fix typo in avformat_close_input
  mp3enc: write Xing TOC
  mp3enc: support MPEG-2 and MPEG-2.5 in Xing header.
  mp3enc: downgrade some errors in writing Xing frame to warnings
  lavf: flush the output AVIOContext in av_write_trailer().
  lavf: cosmetics, reformat av_write_trailer().
  avio: flush the internal buffer in avio_close()
  Enhance doc on asyncts audiofilter
  cmdutils: avoid setting data pointers to invalid values in alloc_buffer()
  libavcodec: remove av_destruct_packet_nofree()

Conflicts:
	libavcodec/avpacket.c
	libavformat/mp3enc.c
	libavformat/nutenc.c
	libavformat/utils.c
	libavformat/version.h
	tests/ref/lavf/voc
	tests/ref/lavf/voc_s16

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-16 14:24:11 +02:00
Clément Bœsch
ca81e3b6e7 lavf/mkv: prefix video stereo arrays with ff_. 2012-09-16 02:58:40 +02:00
Anton Khirnov
3b4bb19e63 lavf: flush the output AVIOContext in av_write_trailer().
This is consistent with stdio and is what we want to do in all cases.

Fixes a bug in the voc muxer which didn't flush in write_trailer()
previously. This is the cause of the change in the test results.
2012-09-15 18:25:07 +02:00
Philip Langdale
9d89c8b3ac matroskadec, matroskadec, srtenc: Read/Write duration for subtitles.
After much discussion and back-and-forth, we reached the conclusion
that matroska uses convergence_duration for subtitle duration because
a 32bit value isn't large enough to store the duration if sub-micro-second
timebases are used. Matroska may not be the only one that supports these
timebases, but it's certainly the only one that ffmpeg attempts to support
in this way.

The long term solution that we seemed to reach was that if we encounter
a matroska file with a sub-micro-second timebase, we should internally
scale it up to at least micro-second, and then duration can be used
normally. This suggests that on the encode side, we should not allow
generation of files with sub-micro-second timebases, but that's a separate
issue.

That being a non-trivial change, and the subtitle interoperability breakage
being very real, I'm re-submitting this small change for consideration.

In this diff, we make sure that duration is populated by the matroska
demuxer, and that convergence_duration is respected in matroskaenc and
srtenc, but that duration is used otherwise. This ends up being a strict
improvement - pipelines that use convergence duration are unchanged, and
ones that are currently broken due to the duration mismatch will start
working - except for the ones with the extreme timebases, but those were
already broken.

Signed-off-by: Philip Langdale <philipl@overt.org>
2012-08-31 20:22:49 -07:00
Michael Niedermayer
7a72695c05 Merge commit '36ef5369ee9b336febc2c270f8718cec4476cb85'
* commit '36ef5369ee9b336febc2c270f8718cec4476cb85':
  Replace all CODEC_ID_* with AV_CODEC_ID_*
  lavc: add AV prefix to codec ids.

Conflicts:
	doc/APIchanges
	doc/examples/decoding_encoding.c
	doc/examples/muxing.c
	ffmpeg.c
	ffprobe.c
	ffserver.c
	libavcodec/8svx.c
	libavcodec/avcodec.h
	libavcodec/dnxhd_parser.c
	libavcodec/dvdsubdec.c
	libavcodec/error_resilience.c
	libavcodec/h263dec.c
	libavcodec/libvorbisenc.c
	libavcodec/mjpeg_parser.c
	libavcodec/mjpegenc.c
	libavcodec/mpeg12.c
	libavcodec/mpeg4videodec.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/pcm.c
	libavcodec/r210dec.c
	libavcodec/utils.c
	libavcodec/v210dec.c
	libavcodec/version.h
	libavdevice/alsa-audio-dec.c
	libavdevice/bktr.c
	libavdevice/v4l2.c
	libavformat/asfdec.c
	libavformat/asfenc.c
	libavformat/avformat.h
	libavformat/avidec.c
	libavformat/caf.c
	libavformat/electronicarts.c
	libavformat/flacdec.c
	libavformat/flvdec.c
	libavformat/flvenc.c
	libavformat/framecrcenc.c
	libavformat/img2.c
	libavformat/img2dec.c
	libavformat/img2enc.c
	libavformat/ipmovie.c
	libavformat/isom.c
	libavformat/matroska.c
	libavformat/matroskadec.c
	libavformat/matroskaenc.c
	libavformat/mov.c
	libavformat/movenc.c
	libavformat/mp3dec.c
	libavformat/mpeg.c
	libavformat/mpegts.c
	libavformat/mxf.c
	libavformat/mxfdec.c
	libavformat/mxfenc.c
	libavformat/nsvdec.c
	libavformat/nut.c
	libavformat/oggenc.c
	libavformat/pmpdec.c
	libavformat/rawdec.c
	libavformat/rawenc.c
	libavformat/riff.c
	libavformat/sdp.c
	libavformat/utils.c
	libavformat/vocenc.c
	libavformat/wtv.c
	libavformat/xmv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 22:45:46 +02:00
Anton Khirnov
36ef5369ee Replace all CODEC_ID_* with AV_CODEC_ID_* 2012-08-07 16:00:24 +02:00
Moritz Bunkus
fe40dc1cec matroskaenc: Implement support for ALAC 2012-08-05 18:34:28 +02:00
Michael Niedermayer
b5da7d4c1a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avformat: Drop pointless "format" from container long names
  swscale: bury one more piece of inline asm under HAVE_INLINE_ASM.
  wv: K&R formatting cosmetics
  configure: Add missing descriptions to help output
  h264_ps: declare array of colorspace strings on its own line.
  fate: amix: specify f32 sample format for comparison
  tiny_psnr: support 32-bit float samples
  eamad/eatgq/eatqi: call special EA IDCT directly
  eamad: remove use of MpegEncContext
  mpegvideo: remove unnecessary inclusions of faandct.h
  af_asyncts: avoid overflow in out_size with large delta values
  af_asyncts: add first_pts option

Conflicts:
	configure
	libavcodec/eamad.c
	libavcodec/h264_ps.c
	libavformat/crcenc.c
	libavformat/ffmdec.c
	libavformat/ffmenc.c
	libavformat/framecrcenc.c
	libavformat/md5enc.c
	libavformat/nutdec.c
	libavformat/rawenc.c
	libavformat/yuv4mpeg.c
	tests/tiny_psnr.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-30 23:28:31 +02:00
Diego Biurrun
6774247a9d avformat: Drop pointless "format" from container long names 2012-07-30 13:59:06 +02:00
Michael Niedermayer
2cb4d51654 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  v410dec: Implement explode mode support
  zerocodec: fix direct rendering.
  wav: init st to NULL to avoid a false-positive warning.
  wavpack: set bits_per_raw_sample for S32 samples to properly identify 24-bit
  h264: refactor NAL decode loop
  RTMPTE protocol support
  RTMPE protocol support
  rtmp: Add ff_rtmp_calc_digest_pos()
  rtmp: Rename rtmp_calc_digest to ff_rtmp_calc_digest and make it global
  swscale: add missing HAVE_INLINE_ASM check.
  lavfi: place x86 inline assembly under HAVE_INLINE_ASM.
  vc1: Add a test for interlaced field pictures
  swscale: Mark all init functions as av_cold
  swscale: x86: Drop pointless _mmx suffix from filenames
  lavf: use conditional notation for default codec in muxer declarations.
  swscale: place inline assembly bilinear scaler under HAVE_INLINE_ASM.
  dsputil: ppc: cosmetics: pretty-print
  dsputil: x86: add SHUFFLE_MASK_W macro
  configure: respect CC_O setting in check_cc

Conflicts:
	Changelog
	configure
	libavcodec/v410dec.c
	libavcodec/zerocodec.c
	libavformat/asfenc.c
	libavformat/version.h
	libswscale/utils.c
	libswscale/x86/swscale.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-23 21:25:09 +02:00
Ronald S. Bultje
fd48721849 lavf: use conditional notation for default codec in muxer declarations.
This removes the use of macro nesting in these code constructs, which
makes it easier to parse in pre-processors.
2012-07-22 16:10:21 -07:00
Michael Niedermayer
c5cc94982d matroskaenc: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-13 17:03:57 +02:00
Michael Niedermayer
938adb7abc Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dwt: K&R prettyprinting cosmetics
  Remove libnut wrapper
  fate: change name of FATE samples location environment variable
  avformat: Add a flag to mark muxers that allow (non strict) monotone timestamps.
  http: Factorize the code by adding http_read_header()

Conflicts:
	configure
	doc/APIchanges
	doc/fate.texi
	libavcodec/dwt.c
	libavcodec/dwt.h
	libavformat/Makefile
	libavformat/avformat.h
	libavformat/libnut.c
	libavformat/matroskaenc.c
	libavformat/utils.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-05-21 23:53:39 +02:00
James Zern
e9cef89702 avformat: Add a flag to mark muxers that allow (non strict) monotone timestamps.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-05-20 19:50:32 -04:00
Michael Niedermayer
2e0c360abd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cosmetics: Align muxer/demuxer declarations
  mpeg12: Do not change frame_pred_frame_dct flag and demote error into a warning
  avcodec: remove avcodec_guess_channel_layout()
  avutil: Add av_get_default_channel_layout()

Conflicts:
	doc/APIchanges
	libavcodec/mpeg12.c
	libavformat/cdg.c
	libavformat/matroskaenc.c
	libavformat/mpegts.c
	libavformat/nuv.c
	libavformat/wav.c
	libavutil/audioconvert.c
	libavutil/audioconvert.h
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-06 22:52:01 +02:00
Martin Storsjö
20234a4bd7 cosmetics: Align muxer/demuxer declarations
Also add missing trailing commas, break long codec_tag lines and
add spaces in codec_tag declarations.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-04-06 19:19:59 +03:00
Aaron Colwell
bda5b6627a matroskaenc: change cluster_pos to use -1 as the "I'm not currently working on a cluster" signal instead of 0.
This avoids problems
where avio_tell() returns 0. I've updated all the checks against
cluster_pos

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-14 21:51:38 +01:00
Aaron Colwell
2e061130f4 matroska : Add support for reading/writing creation_time metadata.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-05 19:02:48 +01:00
Michael Niedermayer
6cb2085278 Merge remote-tracking branch 'qatar/master'
* qatar/master: (27 commits)
  ppc: Add ff_ prefix to nonstatic symbols
  sh4: Add ff_ prefix to nonstatic symbols
  mpegvideo: Add ff_ prefix to nonstatic functions
  rtjpeg: Add ff_ prefix to nonstatic symbols
  rv: Add ff_ prefix to nonstatic symbols
  vp56: Add ff_ prefix to nonstatic symbols
  vorbis: Add ff_ prefix to nonstatic symbols
  msmpeg4: Add ff_ prefix to nonstatic symbols
  vc1: Add ff_ prefix to nonstatic symbols
  msmpeg4: Add ff_ prefixes to nonstatic symbols
  snow: Add ff_ prefix to nonstatic symbols
  mpeg12: Add ff_ prefix to nonstatic symbols
  mpeg4: Add ff_ prefixes to nonstatic symbols
  lagarith: Add ff_ prefix to lag_rac_init
  libavcodec: Add ff_ prefix to j_rev_dct*
  dsputil: Add ff_ prefix to inv_zigzag_direct16
  libavcodec: Prefix fdct_ifast, fdct_ifast248
  dsputil: Add ff_ prefix to the dsputil*_init* functions
  libavcodec: Add ff_ prefix to some nonstatic symbols
  vlc/rl: Add ff_ prefix to the nonstatic symbols
  ...

Conflicts:
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/dnxhddec.c
	libavcodec/ffv1.c
	libavcodec/h263.h
	libavcodec/h263dec.c
	libavcodec/h264.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/nuv.c
	libavcodec/ppc/dsputil_ppc.c
	libavcodec/proresdsp.c
	libavcodec/svq3.c
	libavcodec/version.h
	libavformat/dv.h
	libavformat/dvenc.c
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-16 01:34:37 +01:00
Martin Storsjö
167f3b8de7 libavformat: Add an ff_ prefix to some lavf internal symbols
Prefix the functions/tables brktimegm, pcm_read_seek,
dv_offset_reset, voc_get_packet, codec_movaudio_tags,
codec_movvideo_tags.

After this, lavf has no global symbols without the proper prefix.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:17 +02:00
Michael Niedermayer
7fad19a63d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: cabac: replace explicit memory references with "m" operands
  avplay: don't request a stereo downmix
  wmapro: use av_float2int()
  lavc: avoid invalid memcpy() in avcodec_default_release_buffer()
  lavu: replace int/float punning functions
  lavfi: install libavfilter/vsrc_buffer.h
  Remove extraneous semicolons
  sdp: Restore the original mp4 format h264 extradata if converted
  rtpenc: Add support for mp4 format h264
  rtpenc: Simplify code by introducing a separate end pointer
  movenc: Use the actual converted sample for RTP hinting
  Fix a bunch of common typos.

Conflicts:
	doc/developer.texi
	doc/eval.texi
	doc/filters.texi
	doc/protocols.texi
	ffmpeg.c
	ffplay.c
	libavcodec/mpegvideo.h
	libavcodec/x86/cabac.h
	libavfilter/Makefile
	libavformat/avformat.h
	libavformat/cafdec.c
	libavformat/flvdec.c
	libavformat/flvenc.c
	libavformat/gxfenc.c
	libavformat/img2.c
	libavformat/movenc.c
	libavformat/mpegts.c
	libavformat/rtpenc_h264.c
	libavformat/utils.c
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-12 01:25:37 +01:00
Mans Rullgard
3383a53e7d lavu: replace int/float punning functions
The existing functions defined in intfloat_readwrite.[ch] are
both slow and incorrect (infinities are not handled).

This introduces a new header with fast, inline conversion
functions using direct union punning assuming an IEEE-754
system, an assumption already made throughout the code.

The one use of Intel/Motorola extended 80-bit format is
replaced by simpler code sufficient under the present
constraints (positive normal values).

The old functions are marked deprecated and retained for
compatibility.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-11 18:47:19 +00:00
Michael Niedermayer
e4de71677f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aac_latm: reconfigure decoder on audio specific config changes
  latmdec: fix audio specific config parsing
  Add avcodec_decode_audio4().
  avcodec: change number of plane pointers from 4 to 8 at next major bump.
  Update developers documentation with coding conventions.
  svq1dec: avoid undefined get_bits(0) call
  ARM: h264dsp_neon cosmetics
  ARM: make some NEON macros reusable
  Do not memcpy raw video frames when using null muxer
  fate: update asf seektest
  vp8: flush buffers on size changes.
  doc: improve general documentation for MacOSX
  asf: use packet dts as approximation of pts
  asf: do not call av_read_frame
  rtsp: Initialize the media_type_mask in the rtp guessing demuxer
  Cleaned up alacenc.c

Conflicts:
	doc/APIchanges
	doc/developer.texi
	libavcodec/8svx.c
	libavcodec/aacdec.c
	libavcodec/ac3dec.c
	libavcodec/avcodec.h
	libavcodec/nellymoserdec.c
	libavcodec/tta.c
	libavcodec/utils.c
	libavcodec/version.h
	libavcodec/wmadec.c
	libavformat/asfdec.c
	tests/ref/seek/lavf_asf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-03 03:00:30 +01:00
Janne Grunau
fd095539d1 latmdec: fix audio specific config parsing
Pass the correct size in bits to mpeg4audio_get_config and add a flag
to disable parsing of the sync extension when the size is not known.

Latm with AudioMuxVersion 0 does not specify the size of the audio
specific config. Data after the audio specific config can be
misinterpreted as sync extension resulting in random and wrong configs.
2011-12-03 00:42:48 +01:00
Michael Niedermayer
9d76cf0b18 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpdec: Templatize the code for different g726 bitrate variants
  rv40: move loop filter to rv34dsp context
  lavf: make av_set_pts_info private.
  rtpdec: Add support for G726 audio
  rtpdec: Add an init function that can do custom codec context initialization
  avconv: make copy_tb on by default.
  matroskadec: don't set codec timebase.
  rmdec: don't set codec timebase.
  avconv: compute next_pts from input packet duration when possible.
  lavf: estimate frame duration from r_frame_rate.
  avconv: update InputStream.pts in the streamcopy case.

Conflicts:
	avconv.c
	libavdevice/alsa-audio-dec.c
	libavdevice/bktr.c
	libavdevice/fbdev.c
	libavdevice/libdc1394.c
	libavdevice/oss_audio.c
	libavdevice/v4l.c
	libavdevice/v4l2.c
	libavdevice/vfwcap.c
	libavdevice/x11grab.c
	libavformat/au.c
	libavformat/eacdata.c
	libavformat/flvdec.c
	libavformat/mpegts.c
	libavformat/mxfenc.c
	libavformat/rtpdec_g726.c
	libavformat/wtv.c
	libavformat/xmv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-12-01 02:54:24 +01:00
Anton Khirnov
c3f9ebf743 lavf: make av_set_pts_info private.
It's supposed to be called only from (de)muxers.
2011-11-30 20:34:45 +01:00
Michael Niedermayer
0bd42ae72c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avformat: Avoid a warning about mixed declarations and code
  BMV demuxer and decoder
  matroskaenc: Make sure the seekhead struct is freed even on seek failure
  mpeg12enc: Remove write-only variables.
  mpeg12enc: Don't set up run-level info for level 0.
  msmpeg4: Don't set up run-level info for level 0.
  avformat: Warn about using network functions without calling avformat_network_init
  avformat: Revise wording
  rdt: Set AVFMT_NOFILE on ff_rdt_demuxer
  rdt: Check the return value of avformat_open
  rtsp: Discard the dynamic handler, if it has an alloc function which failed
  dsputil: use cpuflags in x86 versions of vector_clip_int32()

Conflicts:
	libavcodec/avcodec.h
	libavcodec/version.h
	libavformat/Makefile
	libavformat/allformats.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-08 02:03:14 +01:00
Martin Storsjö
44729bc020 matroskaenc: Make sure the seekhead struct is freed even on seek failure
The caller expects the seekhead struct to be freed when calling
matroska_write_seekhead. Currently, the structure is leaked if the
seek fails.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-07 22:23:17 +02:00
Reimar Döffinger
bb3244dee2 Replace all usage of strcasecmp/strncasecmp
All current usages of it are incompatible with localization.
For example strcasecmp("i", "I") != 0 is possible, but would
break many of the places where it is used.

Instead use our own implementations that always treat the data
as ASCII.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-06 11:52:57 +02:00
Michael Niedermayer
ea83b032af matroskaenc: base default duration on avg_frame_rate if possible.
Fixed Ticket432

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-06 00:10:28 +01:00
Reimar Döffinger
96949dafcc Replace all strcasecmp/strncasecmp usages.
All current usages of it are incompatible with localization.
For example strcasecmp("i", "I") != 0 is possible, but would
break many of the places where it is used.
Instead use our own implementations that always treat the data
as ASCII.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2011-11-03 19:25:26 +01:00
Michael Niedermayer
dd8ffc1925 Merge remote-tracking branch 'qatar/master'
* qatar/master: (47 commits)
  lavc: hide private symbols.
  lavc: deprecate img_get_alpha_info().
  lavc: use avpriv_ prefix for ff_toupper4.
  lavc: use avpriv_ prefix for ff_copy_bits and align_put_bits.
  lavc: use avpriv_ prefix for ff_ac3_parse_header.
  lavc: use avpriv_ prefix for ff_frame_rate_tab.
  lavc: rename ff_find_start_code to avpriv_mpv_find_start_code
  lavc: use avpriv_ prefix for ff_split_xiph_headers.
  lavc: use avpriv_ prefix for ff_dirac_parse_sequence_header.
  lavc: use avpriv_ prefix for some dv symbols used in lavf.
  lavc: use avpriv_ prefix for some flac symbols used in lavf.
  lavc: use avpriv_ prefix for some mpeg4audio symbols used in lavf.
  lavc: use avpriv_ prefix for some mpegaudio symbols used in lavf.
  lavc: use avpriv_ prefix for ff_aac_parse_header().
  lavf: hide private symbols.
  lavf: use avpriv_ prefix for some dv functions.
  lavf: use avpriv_ prefix for ff_new_chapter().
  avcodec: add CODEC_CAP_DELAY note to avcodec_decode_audio3() documentation
  avcodec: clarify the CODEC_CAP_DELAY note in avcodec_decode_video2()
  avcodec: clarify documentation of CODEC_CAP_DELAY
  ...

Conflicts:
	configure
	doc/general.texi
	libavcodec/Makefile
	libavcodec/aacdec.c
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/dv.c
	libavcodec/dvdata.c
	libavcodec/dvdata.h
	libavcodec/libspeexenc.c
	libavcodec/mpegvideo.c
	libavcodec/version.h
	libavformat/avidec.c
	libavformat/dv.c
	libavformat/dv.h
	libavformat/flvenc.c
	libavformat/mov.c
	libavformat/mp3enc.c
	libavformat/oggparsespeex.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-21 02:01:26 +02:00
Anton Khirnov
357db4c263 lavc: use avpriv_ prefix for ff_split_xiph_headers.
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
59a9a23581 lavc: use avpriv_ prefix for some mpeg4audio symbols used in lavf.
Specifically, ff_mpeg4audio_sample_rates, ff_mpeg4audio_get_config and
ff_copy_pce_data
2011-10-20 21:06:57 +02:00
Michael Niedermayer
23c1db9b83 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: use different variables for decoded and filtered frame.
  avconv: add support for copying attachments.
  matroskaenc: write attachments.
  matroskadec: export mimetype of attachments as metadata.
  avconv: factorize common code from new_*_stream()
  doc/avconv: expand documentation for some options.
  doc/avconv: document -timelimit.

Conflicts:
	avconv.c
	cmdutils.c
	tests/codec-regression.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-28 02:07:44 +02:00
Anton Khirnov
c7a63a521b matroskaenc: write attachments. 2011-09-27 15:26:36 +02:00
Carl Eugen Hoyos
312645e030 Do not set codec_tag property for matroska muxers.
Fixes ticket #8.
2011-08-28 23:13:17 +02:00
Michael Niedermayer
124deea1a0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libx264: only use ABR mode when the user explicitly set bitrate.
  libx264: use medium preset by default.
  mp2 encoder: make 128k the default bitrate.
  movenc: use libx264 by default when possible for mov, mp4 and psp
  avienc: saner default audio codec.
  matroskaenc: saner default codecs.
  avplay: add examples of how to specify size/pixel format through private options
  lavc: add A|E|D flags to "ac" and "ar" options

Conflicts:
	doc/ffplay.texi
	libavcodec/libx264.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-22 15:00:53 +02:00
Anton Khirnov
3436c4a368 matroskaenc: saner default codecs.
libvorbis/libx264 for video if available, otherwise ac3/mpeg4.
2011-08-22 07:16:55 +02:00
Michael Niedermayer
27fbe31c92 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Revert "avconv: use stream copy by default when possible."
  avconv: print stream copy information.
  avconv: use stream copy by default when possible.
  matroskaenc: vertical alignment.
  matroskaenc: implement query_codec()
  lavf: add avformat_query_codec().
  lavc: add avcodec_get_type() for mapping codec_id -> type.
  flvenc: use int64_t to store offsets
  avconv: don't segfault on 0 input files.
  Do not write ID3v1 tags by default
  mpegts: log into an AVFormatContext rather than MpegTSContext.

Conflicts:
	doc/APIchanges
	libavcodec/version.h
	libavformat/avformat.h
	libavformat/mp3enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-17 14:23:20 +02:00
Anton Khirnov
a3f2f766af matroskaenc: vertical alignment. 2011-08-16 20:24:20 +02:00
Anton Khirnov
15c14ce6b2 matroskaenc: implement query_codec() 2011-08-16 20:24:20 +02:00
Michael Niedermayer
78accb876c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ffmpeg: fix some indentation
  ffmpeg: fix operation with --disable-avfilter
  simple_idct: remove disabled code
  motion_est: remove disabled code
  vc1: remove disabled code
  fate: separate lavf-mxf_d10 test from lavf-mxf
  cabac: Move code only used in the cabac test program to cabac.c.
  ffplay: warn that -pix_fmt is no longer working, suggest alternative
  ffplay: warn that -s is no longer working, suggest alternative
  lavf: rename enc variable in utils.c:has_codec_parameters()
  lavf: use designated initialisers for all (de)muxers.
  wav: remove a use of deprecated AV_METADATA_ macro
  rmdec: remove useless ap parameter from rm_read_header_old()
  dct-test: remove write-only variable
  des: fix #if conditional around P_shuffle
  Use LOCAL_ALIGNED in ff_check_alignment()

Conflicts:
	ffmpeg.c
	libavformat/avidec.c
	libavformat/matroskaenc.c
	libavformat/mp3enc.c
	libavformat/oggenc.c
	libavformat/utils.c
	tests/ref/lavf/mxf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-17 20:12:02 +02:00
Anton Khirnov
dfc2c4d900 lavf: use designated initialisers for all (de)muxers.
It's more readable and less prone to breakage.
2011-07-17 06:58:37 +02:00
Michael Niedermayer
bb258fb995 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc: Improve references to external URLs.
  h264: move decode_mb_skip() from h264.h to h.264_mvpred.h
  ffplay: skip return value of avcodec_decode_video2 / avcodec_decode_subtitle2
  dnxhdenc: Replace a forward declaration by the proper #include.
  h264: move h264_mvpred.h include.
  pix_fmt: Fix number of bits per component in yuv444p9be
  lavf: deprecate AVFormatContext.timestamp
  ffmpeg: merge input_files_ts_scale into InputStream.
  ffmpeg: don't abuse a global for passing sample format from input to output
  ffmpeg: don't abuse a global for passing channel layout from input to output
  ffmpeg: factor common code from new_a/v/s/d_stream to new_output_stream()
  matroskaenc: make SSA default subtitle codec.
  oggdec: prevent heap corruption.

Conflicts:
	doc/developer.texi
	doc/faq.texi
	doc/general.texi
	ffmpeg.c
	ffplay.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-13 00:42:11 +02:00
Anton Khirnov
93ade976c8 matroskaenc: make SSA default subtitle codec.
It's a better format and we have an encoder for it, so it doesn't fail
like CODEC_ID_TEXT.
2011-07-12 15:25:53 +02:00
Michael Niedermayer
58257ea29e Merge remote-tracking branch 'qatar/master'
* qatar/master: (28 commits)
  mp3enc: write a xing frame containing number of frames in the file
  lavf: update AVStream.nb_frames when muxing.
  ffmpeg: remove unused variables from InputStream.
  doc: update ffmpeg -ar and -ac documentation to reflect reality.
  ffmpeg: remove pointless if (nb_input_files)
  ffmpeg: merge input_files_ts_offset into input_files.
  ffmpeg: merge input_codecs into input_streams.
  ffmpeg: drop AV prefixes from struct names.
  ffmpeg: deprecate loop_input and loop_output options
  gif: add loop private option.
  img2: add loop private option.
  AVOptions: in av_opt_find() don't return named constants unless unit is specified.
  x11grab: replace undocumented nomouse hackery with a private option.
  dict: extend documentation.
  lls: whitespace cosmetics
  docs: Use proper markup for a literal command line option
  docs: Remove a remark that isn't relevant any longer
  docs: Explain how to regenerate import libraries with MSVC tools
  docs: Mention that libraries for MSVC can be built with a cross compiler
  docs: Remove old docs that mention setting up a build environment with lib.exe
  ...

Conflicts:
	doc/ffmpeg.texi
	doc/general.texi
	ffmpeg.c
	libavcodec/Makefile
	libavcodec/dnxhddata.c
	libavformat/mp3enc.c
	libavformat/utils.c
	libavutil/Makefile
	tests/copycooker.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-09 02:06:40 +02:00
Anton Khirnov
1c6d2b7df0 lavf: update AVStream.nb_frames when muxing. 2011-07-08 22:13:52 +02:00
Michael Niedermayer
976a8b2179 Merge remote-tracking branch 'qatar/master'
* qatar/master: (40 commits)
  H.264: template left MB handling
  H.264: faster fill_decode_caches
  H.264: faster write_back_*
  H.264: faster fill_filter_caches
  H.264: make filter_mb_fast support the case of unavailable top mb
  Do not include log.h in avutil.h
  Do not include pixfmt.h in avutil.h
  Do not include rational.h in avutil.h
  Do not include mathematics.h in avutil.h
  Do not include intfloat_readwrite.h in avutil.h
  Remove return statements following infinite loops without break
  RTSP: Doxygen comment cleanup
  doxygen: Escape '\' in Doxygen documentation.
  md5: cosmetics
  md5: use AV_WL32 to write result
  md5: add fate test
  md5: include correct headers
  md5: fix test program
  doxygen: Drop array size declarations from Doxygen parameter names.
  doxygen: Fix parameter names to match the function prototypes.
  ...

Conflicts:
	libavcodec/x86/dsputil_mmx.c
	libavformat/flvenc.c
	libavformat/oggenc.c
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-04 00:45:21 +02:00
Mans Rullgard
0ebcdf5cda Do not include mathematics.h in avutil.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-03 21:42:06 +01:00
Mans Rullgard
ee8aecd23a Do not include intfloat_readwrite.h in avutil.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-03 21:42:06 +01:00
Michael Niedermayer
6cbe81999b Merge remote-tracking branch 'qatar/master'
* qatar/master: (28 commits)
  Replace usages of av_get_bits_per_sample_fmt() with av_get_bytes_per_sample().
  x86: cabac: fix register constraints for 32-bit mode
  cabac: move x86 asm to libavcodec/x86/cabac.h
  x86: h264: cast pointers to intptr_t rather than int
  x86: h264: remove hardcoded edi in decode_significance_8x8_x86()
  x86: h264: remove hardcoded esi in decode_significance[_8x8]_x86()
  x86: h264: remove hardcoded edx in decode_significance[_8x8]_x86()
  x86: h264: remove hardcoded eax in decode_significance[_8x8]_x86()
  x86: cabac: change 'a' constraint to 'r' in get_cabac_inline()
  x86: cabac: remove hardcoded esi in get_cabac_inline()
  x86: cabac: remove hardcoded edx in get_cabac_inline()
  x86: cabac: remove unused macro parameter
  x86: cabac: remove hardcoded ebx in inline asm
  x86: cabac: remove hardcoded struct offsets from inline asm
  cabac: remove inline asm under #if 0
  cabac: remove BRANCHLESS_CABAC_DECODER switch
  cabac: remove #if 0 cascade under never-set #ifdef ARCH_X86_DISABLED
  document libswscale bump
  error_resilience: skip last-MV predictor step if MVs are not available.
  error_resilience: actually add counter when adding a MV predictor.
  ...

Conflicts:
	Changelog
	libavcodec/error_resilience.c
	libavfilter/defaults.c
	libavfilter/vf_drawtext.c
	libswscale/swscale.h
	tests/ref/vsynth1/error
	tests/ref/vsynth2/error

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-21 03:38:25 +02:00
Justin Ruggles
e6c52cee54 Replace usages of av_get_bits_per_sample_fmt() with av_get_bytes_per_sample().
av_get_bits_per_sample_fmt() is deprecated.
2011-06-20 18:56:06 -04:00
Aurelien Jacobs
f440f74205 matroskaenc: ensure the written colorspace don't depend on host endianness 2011-06-14 01:53:40 +02:00
Aurelien Jacobs
7ebaa967a2 matroskaenc: write colourspace element for rawvideo tracks 2011-06-13 18:37:32 +02:00
Michael Niedermayer
f9ecb849ef Merge remote-tracking branch 'qatar/master'
* qatar/master:
  crypto: Use av_freep instead of av_free
  lavf: don't try to free private options if priv_data is NULL.
  swscale: fix types of assembly arguments.
  swscale: move two macros that are only used once into caller.
  swscale: remove unused function.
  options: Add missing braces around struct initializer.
  mov: Remove leftover crufty debug statement with references to a local file.
  dvbsubdec: Fix compilation of debug code.
  Remove all uses of now deprecated metadata functions.
  Move metadata API from lavf to lavu.

Conflicts:
	doc/APIchanges
	libavformat/aiffdec.c
	libavformat/asfdec.c
	libavformat/avformat.h
	libavformat/avidec.c
	libavformat/cafdec.c
	libavformat/matroskaenc.c
	libavformat/mov.c
	libavformat/mp3enc.c
	libavformat/wtv.c
	libavutil/avutil.h
	libavutil/internal.h
	libswscale/swscale.c
	libswscale/x86/swscale_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-09 04:47:19 +02:00
Anton Khirnov
d2d67e424f Remove all uses of now deprecated metadata functions. 2011-06-08 07:43:45 +02:00
Alok Ahuja
945dda41a2 webm: support stereo videos in matroska/webm muxer
Create a stereo_mode metadata tag to specify the stereo 3d video layout
using the StereoMode tag in a matroska/webm video track.
2011-05-28 12:15:55 +02:00
James Zern
094aa84b03 muxers: Add a flag to mark muxers that allow (non strict) monotone timestamps. 2011-05-26 22:00:40 +02:00
Aurelien Jacobs
4c509fe305 matroska: cleanup handling of video stereo mode 2011-05-24 01:12:19 +02:00
Kirill Gavrilov
e6ec9212c5 matroska: switch stereo mode from int to string and add support in the demuxer too 2011-05-21 17:23:30 +02:00
Kirill Gavrilov
69a83da5d4 matroska: cosmetics 2011-05-21 17:23:30 +02:00
Alok Ahuja
8dd12b077b Create a stereo_mode metadata tag to specify the stereo 3d video layout using the StereoMode tag in a matroska/webm video track. 2011-05-21 17:23:29 +02:00
Michael Niedermayer
72153419b5 Merge remote branch 'qatar/master'
* qatar/master: (33 commits)
  rtpdec_qdm2: Don't try to parse data packet if no configuration is received
  ac3enc: put the counting of stereo rematrixing bits in the same place to make the code easier to understand.
  ac3enc: clean up count_frame_bits() and count_frame_bits_fixed()
  mpegvideo: make FF_DEBUG_DCT_COEFF output coeffs via av_log() instead of just via AVFrame.
  srtdec: make sure we don't write past the end of buffer
  wmaenc: improve channel count and bitrate error handling in encode_init()
  matroskaenc: make sure we don't produce invalid file with no codec ID
  matroskadec: check that pointers were initialized before accessing them
  lavf: fix function name in compute_pkt_fields2 av_dlog message
  lavf: fix av_find_best_stream when providing a wanted stream.
  lavf: fix av_find_best_stream when decoder_ret is given and using a related stream.
  ffmpeg: factorize quality calculation
  tiff: add support for SamplesPerPixel tag in tiff_decode_tag()
  tiff: Prefer enum TiffCompr over int for TiffContext.compr.
  mov: Support edit list atom version 1.
  configure: Enable libpostproc automatically if GPL code is enabled.
  Cosmetics: fix prototypes in oggdec
  oggdec: fix memleak with continuous streams.
  matroskaenc: add missing new line in av_log() call
  dnxhdenc: add AVClass in private context.
  ...

swscale changes largely rewritten by me or replaced by baptsites due to lots of bugs in ronalds code.
Above code is also just in case its not obvios to a large extended duplicates that where cherry picked
from ffmpeg.

Conflicts:
	configure
	ffmpeg.c
	libavformat/matroskaenc.c
	libavutil/pixfmt.h
	libswscale/ppc/swscale_template.c
	libswscale/swscale.c
	libswscale/swscale_template.c
	libswscale/utils.c
	libswscale/x86/swscale_template.c
	tests/fate/h264.mak
	tests/ref/lavfi/pixdesc_le
	tests/ref/lavfi/pixfmts_copy_le
	tests/ref/lavfi/pixfmts_null_le
	tests/ref/lavfi/pixfmts_scale_le
	tests/ref/lavfi/pixfmts_vflip_le

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-13 04:40:40 +02:00
Aurelien Jacobs
89d4c13057 matroskaenc: make sure we don't produce invalid file with no codec ID
Signed-off-by: Aurelien Jacobs <aurel@gnuage.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-12 18:02:28 +02:00
Aurelien Jacobs
2501d2f386 matroskaenc: add missing new line in av_log() call
Signed-off-by: Aurelien Jacobs <aurel@gnuage.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-12 13:08:30 +02:00
Michael Niedermayer
b000b86e1d Merge remote branch 'qatar/master'
* qatar/master: (23 commits)
  doc: Check standalone compilation before submitting new components.
  Fix standalone compilation of pipe protocol.
  Fix standalone compilation of ac3_fixed encoder.
  Fix standalone compilation of binkaudio_dct / binkaudio_rdft decoders.
  Fix standalone compilation of IMC decoder.
  Fix standalone compilation of WTV demuxer.
  Fix standalone compilation of MXPEG decoder.
  flashsv: K&R cosmetics
  matroskaenc: fix memory leak
  vc1: make overlap filter for I-frames bit-exact.
  vc1dec: use s->start/end_mb_y instead of passing them as function args.
  Revert "VC1: merge idct8x8, coeff adjustments and put_pixels."
  Replace strncpy() with av_strlcpy().
  indeo3: Eliminate use of long.
  get_bits: make cache unsigned to eliminate undefined signed overflow.
  asfdec: fix assert failure on invalid files
  avfilter: check malloc return values.
Not pulled as reason for reindent is not pulled:  mpegvideo: reindent.
  nutenc: check malloc return values.
Not pulled due to much simpler solution in ffmpeg  *: don't av_malloc(0).
  ...

Conflicts:
	doc/developer.texi
	libavcodec/Makefile
	libavcodec/get_bits.h
	libavcodec/mpegvideo.c
	libavformat/Makefile
	libavutil/log.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-05 03:30:24 +02:00
Mans Rullgard
eddd580b74 matroskaenc: fix memory leak
This fixes a memory leak occurring when no cue points are defined
since commit 91819763.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-05-04 18:06:45 +01:00
Stefano Sabatini
50f43fb0e2 matroskaenc: replace AVERROR_NOTSUPP with AVERROR(EINVAL)
AVERROR_NOTSUPP has been dropped with the major bump. Since the
signalled error denotes a configuration problem, AVERROR(EINVAL) looks
an adequate replacement.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-22 10:21:21 +02:00
Michael Niedermayer
c88caa522c Merge remote branch 'qatar/master'
* qatar/master:
  proto: include os_support.h in network.h
  matroskaenc: don't write an empty Cues element.
  lavc: add a FF_API_REQUEST_CHANNELS deprecation macro
  avio: move extern url_interrupt_cb declaration from avio.h to url.h
  avio: make av_register_protocol2 internal.
  avio: avio_ prefix for url_set_interrupt_cb.
  avio: AVIO_ prefixes for URL_ open flags.
  proto: introduce listen option in tcp
  doc: clarify configure features
  proto: factor ff_network_wait_fd and use it on udp

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-08 02:50:13 +02:00
Anton Khirnov
9181976348 matroskaenc: don't write an empty Cues element. 2011-04-07 18:11:24 +02:00
Michael Niedermayer
2cae9809e2 Merge remote branch 'qatar/master'
* qatar/master:
  fate: fix partial run when no samples path is specified
  ARM: NEON fixed-point forward MDCT
  ARM: NEON fixed-point FFT
  lavf: bump minor version and add an APIChanges entry for avio changes
  avio: simplify url_open_dyn_buf_internal by using avio_alloc_context()
  avio: make url_fdopen internal.
  avio: make url_open_dyn_packet_buf internal.
  avio: avio_ prefix for url_close_dyn_buf
  avio: avio_ prefix for url_open_dyn_buf
  avio: introduce an AVIOContext.seekable field
  ac3enc: use generic fixed-point mdct
  lavfi: add fade filter
  Change yadif to not use out of picture lines.
  lavc: deprecate AVCodecContext.antialias_algo
  lavc: mark mb_qmin/mb_qmax for removal on next major bump.

Conflicts:
	doc/filters.texi
	libavcodec/ac3enc_fixed.h
	libavcodec/ac3enc_float.h
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/vf_fade.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-04 02:15:12 +02:00
Anton Khirnov
6dc7d80de7 avio: avio_ prefix for url_close_dyn_buf 2011-04-03 22:47:05 +02:00
Anton Khirnov
b92c545282 avio: avio_ prefix for url_open_dyn_buf 2011-04-03 22:46:56 +02:00
Anton Khirnov
8978fedaee avio: introduce an AVIOContext.seekable field
Use it instead of url_is_streamed and AVIOContext.is_streamed.
2011-04-03 22:46:40 +02:00
Michael Niedermayer
2fd41c9067 Merge remote-tracking branch 'newdev/master'
* newdev/master:
  avio: make udp_set_remote_url/get_local_port internal.
  asfdec: also subtract preroll when reading simple index object
  matroskaenc: remove a variable that's unused after bc17bd9.
  avio: cosmetics - nicer vertical alignment.
  Remove unnecessary icc version checks
  Disable 'attribute "foo" ignored' warnings from icc
  rtsp: Don't use a locale dependent format string
  Add xd55 codec tag for XDCAM HD422 720p25 CBR files.
  configure: get libavcodec version from new version.h header
  lavc: move the version macros to a new installed header.
  matroskaenc: simplify get_aac_sample_rates by using ff_mpeg4audio_get_config
  Do not use format string "%0.3f" for RTSP Range field.
  Add apply_window_int16() to DSPContext with x86-optimized versions and use it in the ac3_fixed encoder.
  Document usage of import libraries created by dlltool
  configure: Set the correct lib target for arm/wince dlltool
  fate: simplify regression-funcs.sh
  fate: add support for multithread testing

Conflicts:
	libavformat/rtspdec.c
	libavutil/attributes.h
	libavutil/internal.h
	libavutil/mem.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-24 02:16:11 +01:00
Aurelien Jacobs
00dc0206cb matroskaenc: make sure we don't produce invalid file with no codec ID
Signed-off-by: Aurelien Jacobs <aurel@gnuage.org>
2011-03-24 01:56:26 +01:00
Aurelien Jacobs
75f4d1fadf matroskaenc: add missing new line in av_log() call
Signed-off-by: Aurelien Jacobs <aurel@gnuage.org>
2011-03-24 01:54:15 +01:00
Anton Khirnov
264935c962 matroskaenc: remove a variable that's unused after bc17bd9.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-23 09:01:49 -04:00
Anton Khirnov
bc17bd90f5 matroskaenc: simplify get_aac_sample_rates by using ff_mpeg4audio_get_config
This also fixes broken SBR detection, which produced files with double
sample rate since 8ae0fa2.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-22 21:39:14 -04:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Anton Khirnov
b7f2fdde74 avio: rename put_flush_packet -> avio_flush
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-16 22:59:39 -04:00
Anton Khirnov
a2704c9712 avio: add avio_tell macro as a replacement for url_ftell
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-04 11:26:57 -05:00
Anton Khirnov
6b4aa5dac8 avio: avio_ prefix for url_fseek
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-01 12:12:33 -05:00
Anton Khirnov
77eb5504d3 avio: avio: avio_ prefixes for put_* functions
In the name of consistency:
put_byte           -> avio_w8
put_<type>         -> avio_w<type>
put_buffer         -> avio_write

put_nbyte will be made private
put_tag will be merged with avio_put_str

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-21 14:25:15 -05:00
Anton Khirnov
ae628ec1fd avio: rename ByteIOContext to AVIOContext.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-20 08:37:15 -05:00
Reinhard Tartler
737eb5976f Merge libavcore into libavutil
It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-02-15 16:18:21 +01:00
Diego Elio Pettenò
c6610a216e Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.
This also lists the objects from those two libraries as internal (by adding
the ff_ prefix) so that they can then be hidden via linker scripts.
2011-01-26 22:10:09 +00:00
Anton Khirnov
eaa4542b64 matroskaenc: don't duplicate title information
Title is already written into special fields designated for it --
per-segment Title, per-chapter ChapString and per-stream Name (yay for
consistent naming). Therefore, don't duplicate it in Tags.

Originally committed as revision 25813 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-23 08:24:41 +00:00
Stefano Sabatini
ba7d6e798e Remove usage of deprecated libavcodec/audioconvert.h functions.
Originally committed as revision 25668 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-03 20:19:34 +00:00
Anton Khirnov
03700d399b Export metadata in the generic format. Deprecate old conversion API.
patch by Anton Khirnov  anton _at_ khirnov _dot_ net

Originally committed as revision 25493 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-15 19:04:25 +00:00
Anton Khirnov
9b75309c19 matroskaenc: write metadata
patch by Anton Khirnov   anton _at_ khirnov _dot_ net

Originally committed as revision 25341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 09:40:43 +00:00
Aurelien Jacobs
2701fd40f9 matroskaenc: add support for muxing SRT tracks
Originally committed as revision 24503 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-25 21:16:58 +00:00
Aurelien Jacobs
d00a351606 matroskaenc: write DisplayUnit element to better match the spec
This makes it clear that we are specifying the aspect ratio, and not
the intended display size in pixels.

Originally committed as revision 24239 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-14 19:36:14 +00:00
Måns Rullgård
49bd8e4b84 Fix grammar errors in documentation
Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 15:38:06 +00:00
Måns Rullgård
5150dd532b matroska: move LFG state from muxer context to local variable
The LFG is only used in one place, so there is no need to keep it in
the context.

Originally committed as revision 23527 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-08 10:44:27 +00:00
David Conrad
e7ddafd515 matroskaenc: Don't write a second seekhead for the clusters; mkvalidate agrees
with me that it's unnecessary.

Originally committed as revision 23478 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:41:11 +00:00
David Conrad
d06735a34a matroskaenc: Check that tracks was allocated
Originally committed as revision 23477 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:41:06 +00:00
David Conrad
1f4280e744 matroskaenc: Use av_get_random_seed -> lfg for segment UID
Originally committed as revision 23476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:41:03 +00:00
David Conrad
4a6bef1f36 matroskaenc: Make put_ebml_binary take a void pointer
Originally committed as revision 23475 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:40:58 +00:00
James Zern
316d6c153c Add WebM muxer
Patch by James Zern <jzern at google>

Originally committed as revision 23474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:40:54 +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
577abedb39 matroskaenc: Don't write track timecode scale
It's not required for mkv and unsupported in webm

Originally committed as revision 23247 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-22 01:41:38 +00:00
Jean-Daniel Dupas
cc947f04cc Replace all occurences of PKT_FLAG_KEY with AV_PKT_FLAG_KEY.
Patch by Jean-Daniel Dupas, devlists shadowlab org

Originally committed as revision 22744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 12:29:58 +00:00
Stefano Sabatini
72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Jai Menon
4896dd57fa Matroska muxer : Don't create audio tracks for unsupported audio codecs.
Originally committed as revision 22669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 14:34:19 +00:00
Carl Eugen Hoyos
d692850bbb Silence ridiculous gcc warning.
Originally committed as revision 22654 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-24 11:11:25 +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
Jai Menon
f75ab7a645 cosmetics : Print newline after error message.
Originally committed as revision 22551 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 19:03:48 +00:00
David Conrad
f9ff7179ff mkvenc: Handle negative timestamps correctly
Originally committed as revision 22372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 04:23:36 +00:00
David Conrad
654b65d012 mkvenc: Don't try to write packets with unknown timestamps
Originally committed as revision 22371 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 04:23:33 +00:00
David Conrad
84d4e599a5 mkvenc: write dts for VFW mode
Originally committed as revision 22370 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 04:23:28 +00:00
David Conrad
871b641b80 Ensure that we write clusters and blocks with known size when streaming
Too many demuxers can't cope with clusters of unknown size.

Originally committed as revision 22201 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:14 +00:00
David Conrad
434a70b8f1 Fix indentation
Originally committed as revision 22200 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:11 +00:00
David Conrad
30f06a58a0 Simplify starting and ending clusters
Originally committed as revision 22199 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:08 +00:00
David Conrad
7a2a484081 Write the first seekhead if writing to a stream, we won't be able to seek
back and write it at the end

Originally committed as revision 22198 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:04 +00:00
David Conrad
2529bb3019 Attempt seeking to write EBML master sizes even if streamed
Most EBML masters are much smaller than IO_BUFFER_SIZE and thus the size
can be updated. This makes parsing the resulting files easier.

Originally committed as revision 22197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:00 +00:00
Anton Khirnov
690b412657 matroskaenc: use "title" tag instead of "description" in track title.
Patch by Anton Khirnov < whyskas at gmail >

Originally committed as revision 22187 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 23:27:34 +00:00
Rafaël Carré
e380b9182b mkvenc: Write TrackTimecodeScale
patch by Rafael (dot) Carre (a) gmail (d) com

Originally committed as revision 21372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 20:49:27 +00:00
Anton Khirnov
2bd0758efa matroskaenc: Add support for writing chapters.
patch by Anton Khirnov  wyskas _at_ gmail _dot_ com

Originally committed as revision 20277 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 12:17:01 +00:00
Daniel Verkamp
1a40491ef2 Add ff_ prefixes to exported symbols in libavformat/riff.h.
patch by Daniel Verkamp, aniel drv nu

Originally committed as revision 19254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-22 23:09:34 +00:00
Justin Ruggles
2578326f13 Share the function to write a raw FLAC header and use it in the Matroska
muxer.

Originally committed as revision 17606 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 02:41:53 +00:00
Justin Ruggles
59c6178a54 Use a shared function to validate FLAC extradata.
Originally committed as revision 17602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 02:29:24 +00:00
Michael Niedermayer
2591821213 Add AVFMT_VARIABLE_FPS to specify which muxers do not need duplicated frames.
Originally committed as revision 17554 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-24 15:04:18 +00:00
Aurelien Jacobs
5e56599878 matroskaenc: use new metadata API
Originally committed as revision 17336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-15 16:53:05 +00:00
Aurelien Jacobs
5f8bae8d5c matroskaenc: correctly handle h264 streams with 3 bytes nal startcodes
This implies using ff_avc_parse_nal_units_buf instead of ff_avc_parse_nal_units
because with 3 bytes startcodes the parsed packet size will change, and the
size must be written before the packet content.

Originally committed as revision 16690 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-20 00:52:12 +00:00
David Conrad
3194b00479 Cosmetics: indent
Originally committed as revision 16652 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-17 04:31:42 +00:00
David Conrad
1c3db2aa50 Treat disposition==0 as undefined and don't write the default flag
Originally committed as revision 16651 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-17 04:31:14 +00:00
David Conrad
8a86aaa3b2 Flush the buffer after writing the header and when done with writing the files
Fixes writing small (~4kb) files.

Originally committed as revision 16650 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-17 04:30:36 +00:00
Luca Abeni
ca93bc175a Reindent after last commit
Originally committed as revision 16617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-15 14:07:59 +00:00
Luca Abeni
0a63a676ec Do not reallocate AVPacket's data when muxing a packet
Originally committed as revision 16616 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-15 14:03:07 +00:00
Diego Biurrun
6a5d31ac25 Fix build: Add intreadwrite.h and bswap.h #includes where necessary.
Originally committed as revision 16556 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-11 22:19:48 +00:00
Aurelien Jacobs
abce34d979 matroskaenc: require global header
fixes issue696

Originally committed as revision 15667 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-22 21:14:42 +00:00
Aurelien Jacobs
b7f4e76d3d matroskaenc: correct muxing of ASS packets
- split packets to store one ASS event line per Matroska block
 - reformat ASS events to Matroska modified format
 - extract display duration for ASS events to store as Matroska block duration

Originally committed as revision 15561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 22:57:56 +00:00
Aurelien Jacobs
291902c274 matroskaenc: use correct EBML ID for block duration
Originally committed as revision 15560 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 22:47:10 +00:00
Aurelien Jacobs
1bfbe8ff9d matroskaenc: pass the packet size directly as parameter of mkv_blockgroup_size()
Originally committed as revision 15559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 22:44:50 +00:00
Aurelien Jacobs
8401c51407 matroskaenc: remove useless mkv_block_size() function
Originally committed as revision 15558 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 22:41:58 +00:00
Diego Biurrun
bc5c918ea8 Remove offset_t typedef and use int64_t directly instead.
The name offset_t is easily confused with the standard off_t type and
*_t is POSIX reserved namespace if any POSIX header is included.

Originally committed as revision 15533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-03 10:16:29 +00:00
Aurelien Jacobs
62c24705c8 matroska: subtitle display duration must be stored in pkt->convergence_duration
Originally committed as revision 15206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-04 23:08:19 +00:00
Reimar Döffinger
c18545929e Change codec_tag type from const struct AVCodecTag ** to const struct AVCodecTag * const *
Originally committed as revision 14947 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-24 16:51:50 +00:00
Aurelien Jacobs
5972945197 convert every muxer/demuxer to write/read sample_aspect_ratio from/to
the corresponding AVStream instead of AVCodecContext

Originally committed as revision 14933 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-23 23:43:20 +00:00
Diego Biurrun
5968d2dd1e misc spelling/grammar fixes
Originally committed as revision 14616 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 08:28:57 +00:00
Aurelien Jacobs
cc8be50637 matroska: expand useless define for MS compat codec id strings
Originally committed as revision 14607 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:49 +00:00
Aurelien Jacobs
f009e36f75 matroska: add support for V_QUICKTIME track type
Originally committed as revision 14429 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-27 15:11:04 +00:00
Stefano Sabatini
bde15e74de Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
patch by Stefano Sabatini, stefano.sabatini-lala poste.it
along with some spelling/consistency fixes for the long names by me

Originally committed as revision 13649 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-03 16:20:54 +00:00
Diego Biurrun
245976da2a Use full path for #includes from another directory.
Originally committed as revision 13098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-09 11:56:36 +00:00
Justin Ruggles
8a0684f4c4 fix encoding of flac private data
Originally committed as revision 13030 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-01 22:04:17 +00:00
Aurelien Jacobs
7bfacd4e75 use common aac sample rate tables
Originally committed as revision 12671 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-02 21:41:48 +00:00
Evgeniy Stepanov
90c2295b24 Add 'disposition' bitfield to AVStream and use it for both muxing and demuxing
of matroska and nut.

Originally committed as revision 12358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-07 19:25:09 +00:00
Aurelien Jacobs
73260a11e1 simplification proposed by Rich
Originally committed as revision 12280 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-01 00:26:19 +00:00
Aurelien Jacobs
0b247953c8 makes really sure that no undefined behavior can happen
Originally committed as revision 12258 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-27 00:53:34 +00:00
Aurelien Jacobs
d597655f77 Avoid infinite loop.
uint64_t >> 64 is an undefined operation

Originally committed as revision 12253 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-26 22:35:07 +00:00
Michael Niedermayer
2024c2262b Write 0 instead of seeking forward (and leaving bytes uninitalized),
fixes odd regression test failure i had.

Originally committed as revision 11512 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-12 00:15:05 +00:00
Aurelien Jacobs
9ab3f71b60 add a ff_ prefix to newly exported functions from avc.c
Originally committed as revision 11511 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-11 23:33:32 +00:00
Aurelien Jacobs
e609806ec6 Matroska muxer needs to format all NAL units, not only extradata.
Originally committed as revision 11510 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-11 23:21:22 +00:00
Aurelien Jacobs
aacc5f227a Use the isom avcc formatting for h264 extradata in matroska.
Originally committed as revision 11499 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-11 01:32:45 +00:00
Björn Axelsson
899681cd1d Use dynamically allocated ByteIOContext in AVFormatContext
patch by: Björn Axelsson, bjorn d axelsson a intinor d se
thread: [PATCH] Remove static ByteIOContexts, 06 nov 2007

Originally committed as revision 11071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-21 07:41:00 +00:00
Diego Biurrun
bf898960a7 spelling/wording nits in some Doxygen comments
Originally committed as revision 10417 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 20:31:40 +00:00
David Conrad
ab332d0133 Grammar nits
Originally committed as revision 10388 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:26:11 +00:00
David Conrad
b62a33d01b Always use AVFormatContext for av_log messages
Originally committed as revision 10387 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:26:09 +00:00
David Conrad
0f651e8cf3 Rename ebml size functions to indicate that they can be used for more kinds of numbers
Originally committed as revision 10386 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:26:07 +00:00
David Conrad
8b65b9a313 We shouldn't be passing in sizes larger than 2^56-2, so use an assert
Originally committed as revision 10385 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:26:04 +00:00
David Conrad
e5c29287cf Indentation
Originally committed as revision 10384 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:26:03 +00:00
David Conrad
ac9e1177b3 Don't seek when streamed
Originally committed as revision 10383 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:26:00 +00:00
David Conrad
c301d5ae0a Get rid of useless braces
Originally committed as revision 10382 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:58 +00:00
David Conrad
7e33d3fee4 Indent
Originally committed as revision 10381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:56 +00:00
David Conrad
dc4a9f6737 Match the behaviour betwen the bmp and wav codec tag lookups
Originally committed as revision 10380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:54 +00:00
David Conrad
46d18a88e1 Write codecprivate to a dynamic buffer so that seeking isn't required
Originally committed as revision 10379 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:52 +00:00
David Conrad
5c559894e1 Move writing codec private element to its own function
Originally committed as revision 10378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:49 +00:00
David Conrad
211783a50a Cosmetics
Originally committed as revision 10377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:46 +00:00
David Conrad
91ca969082 Use num_entries directly rather than mixing it with a local copy
Originally committed as revision 10376 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:44 +00:00
David Conrad
e3cd80cdac Doxygenify comments
Originally committed as revision 10375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:42 +00:00
David Conrad
7f8582dfc6 Make sure that the calculated duration doesn't decrease
Originally committed as revision 10374 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:40 +00:00
David Conrad
8ffc5f9e92 Split some really long lines
Originally committed as revision 10373 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:38 +00:00
David Conrad
3967eb5260 Correct message
Originally committed as revision 10372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:35 +00:00
David Conrad
9e2a3e2262 Always check the return of mkv_add_seekhead_entry
Originally committed as revision 10371 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:34 +00:00
David Conrad
6d588ecd76 Pass the returned error code of functions up
Originally committed as revision 10370 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:32 +00:00
David Conrad
c35de1a131 Check that the seekheads were created
Originally committed as revision 10369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:29 +00:00
David Conrad
0b38843a6c Return AVERROR(ENOMEM) when appropriate
Originally committed as revision 10368 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:27 +00:00
David Conrad
47e08c5860 Indentation
Originally committed as revision 10367 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:24 +00:00
David Conrad
0580a12256 Use assert for conditions that must be true
Originally committed as revision 10366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:22 +00:00
David Conrad
203cce9a92 Simplify
Originally committed as revision 10365 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:20 +00:00
David Conrad
8cf3bb2674 Grammar nits
Originally committed as revision 10364 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:18 +00:00
David Conrad
cfde5d18f5 Break long comments
Originally committed as revision 10363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:16 +00:00
David Conrad
a6da1aa057 Use sample format for bit depth if av_get_bits_per_sample() doesn't give one
Originally committed as revision 10362 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:14 +00:00
David Conrad
8eb1915395 Calculate and store DAR rather than SAR
Originally committed as revision 10361 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:07 +00:00
David Conrad
5045da831b Clarify comments
Originally committed as revision 10360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:04 +00:00
David Conrad
5b66fc16af Use PRIu64/PRId64
Originally committed as revision 10359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:58 +00:00
David Conrad
baf71dca28 Calculate the size of key EBML master elements beforehand so only just enough size is reserved for the size
Originally committed as revision 10358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:56 +00:00
David Conrad
cce800b456 Use cluster_pos when checking cluster position
Originally committed as revision 10357 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:53 +00:00
David Conrad
f0e9f44271 Modify put_ebml_size() so that the bytes parameter is exact rather than minimum
Originally committed as revision 10356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:50 +00:00
David Conrad
c635497cb4 Set default subtitle_codec to CODEC_ID_TEXT
Originally committed as revision 10355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:48 +00:00
David Conrad
ddf1646729 Simplify
Originally committed as revision 10354 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:44 +00:00
David Conrad
1c73478c8e Move calculating the bytes needed to represent a size in EBML to its own function
Originally committed as revision 10353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:42 +00:00
David Conrad
9f38fd7efa Make a byte always mean a byte
Originally committed as revision 10352 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:39 +00:00
David Conrad
432adc130c Simplify put_ebml_id()
Originally committed as revision 10351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:36 +00:00
David Conrad
22ccb69a7f Move ebml_id_size()
Originally committed as revision 10350 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:34 +00:00
David Conrad
ec8f4ad909 Correct handling of smaller unknown sizes
Originally committed as revision 10349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:31 +00:00
David Conrad
541d443c03 Use a MD5 hash of some frames to write the segment uid
Originally committed as revision 10348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:29 +00:00
David Conrad
f095a17423 Revert using the time to generate the segment uid
Originally committed as revision 10347 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:27 +00:00
David Conrad
57848e9abd Doxygenize some comments
Originally committed as revision 10346 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:25 +00:00
David Conrad
fd150eb629 Set the language to undefined if no language specified
Originally committed as revision 10345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:22 +00:00
David Conrad
55c151efb3 Add mka muxer
Originally committed as revision 10344 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:19 +00:00
David Conrad
c1f5aa2186 Add some debug logging
Originally committed as revision 10343 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:17 +00:00
David Conrad
7332adddae Write the display size elements
Originally committed as revision 10342 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:15 +00:00
David Conrad
d1a8d959fd Revert writing the file creation date
Originally committed as revision 10341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:12 +00:00
David Conrad
409533622e Codec Private should be correct for all but Real codecs now
Originally committed as revision 10340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:10 +00:00
David Conrad
8a39497c13 Write FLAC codec private correctly
Originally committed as revision 10339 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:08 +00:00
David Conrad
86be66378b Move writing Xiph-style sizes to its own function
Originally committed as revision 10338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:06 +00:00
David Conrad
4b8f58eea5 Write segment UID
Originally committed as revision 10337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:03 +00:00
David Conrad
80380a0f71 Write the creation time
Originally committed as revision 10336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:01 +00:00
David Conrad
5fd35c6e00 Cosmetics
Originally committed as revision 10335 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:59 +00:00
David Conrad
440e090121 Using LIBAVFORMAT_IDENT for both muxing and writing app is good enough
Originally committed as revision 10334 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:57 +00:00
David Conrad
dcbfe3f099 Floats aren't used enough to justify writing any with single precision
Originally committed as revision 10333 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:55 +00:00
David Conrad
9245c5ca08 Simplify
Originally committed as revision 10332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:53 +00:00
David Conrad
56e4540d3a Indentation
Originally committed as revision 10331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:52 +00:00
David Conrad
663a5d9d2d Write subtitle tracks
Originally committed as revision 10330 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:49 +00:00
David Conrad
95527e0669 Move writing a block to its own function
Originally committed as revision 10329 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:47 +00:00
David Conrad
8bea4aee4f Only write extradata if it exists
Originally committed as revision 10328 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:46 +00:00
David Conrad
07918a227a Determine the output sample rate for SBR AAC and write it
Originally committed as revision 10327 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:43 +00:00
David Conrad
6b9a10fbd3 Simplify
Originally committed as revision 10326 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:41 +00:00
David Conrad
f9c8d57b79 Keyframe is the first bit not last
Originally committed as revision 10325 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:39 +00:00
David Conrad
357eba6f0b Simplify
Originally committed as revision 10324 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:38 +00:00
David Conrad
d22f88cb19 Use av_get_bits_per_sample
Originally committed as revision 10323 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:34 +00:00
David Conrad
44008871ef Write bit depth for PCM audio
Originally committed as revision 10322 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:31 +00:00
David Conrad
1a302a5c2a Write wav header if there is no native audio codec ID
Originally committed as revision 10321 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:29 +00:00
David Conrad
6364d534ea Write the cues element
Originally committed as revision 10320 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:27 +00:00
David Conrad
1b66d31467 Doxygenize comments
Originally committed as revision 10319 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:26 +00:00
David Conrad
4d1fd70cac Calculate the size of a SimpleBlock before writing it so that bytes aren't wasted in writing the size
Originally committed as revision 10318 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:23 +00:00
David Conrad
7973dd0bf1 Indentation
Originally committed as revision 10317 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:21 +00:00
David Conrad
967d815ae5 Write the Seek Head element
Originally committed as revision 10316 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:19 +00:00
David Conrad
801edb42d1 Make sure to return a value in functions that return a value
Originally committed as revision 10315 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:17 +00:00
David Conrad
5034ab9024 Move writing the tracks element to its own function
Originally committed as revision 10314 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:15 +00:00
David Conrad
56d55a3bcf Move Xiph's CodecPrivate writing code to its own function
Originally committed as revision 10313 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:13 +00:00
David Conrad
02f487fc77 Write the duration of the file
Originally committed as revision 10312 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:11 +00:00
David Conrad
f57b85a569 put_ebml_void()
Originally committed as revision 10311 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:09 +00:00
David Conrad
ab41602755 Remove unused prototype
Originally committed as revision 10310 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:07 +00:00
David Conrad
ffb880c278 Write unknown size if the size given is too large for EBML (greater than 2^56-1)
Originally committed as revision 10309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:06 +00:00
David Conrad
815eb6a2fe Track number and UID only have to be nonzero
Originally committed as revision 10308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:03 +00:00
David Conrad
90c02d93ff SimpleBlocks are Matroska v2
Originally committed as revision 10307 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:01 +00:00
David Conrad
98186e416d Start a new cluster every 5 MB or 5 seconds
Originally committed as revision 10306 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:00 +00:00
David Conrad
6d50a935c9 Fix writing Xiph header sizes
Originally committed as revision 10305 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:58 +00:00
David Conrad
89e81bbbb9 Correctly write CodecPrivate element for Vorbis and Theora
Originally committed as revision 10304 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:56 +00:00
David Conrad
79a58e91db Compile fix; missed a variable declaration in the last commit
Originally committed as revision 10303 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:54 +00:00
David Conrad
b1adb69c5b Write one cluster and SimpleBlocks for the frames. Should now create playable mkv files for some video codecs (H.264 and VP3 checked)
Originally committed as revision 10302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:52 +00:00
David Conrad
f622c4f45c First stab at writing the tracks element, still needs some additional cases for certain codecs
Originally committed as revision 10301 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:50 +00:00
David Conrad
f8e65a3271 Remove useless debug write
Originally committed as revision 10300 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:48 +00:00
David Conrad
9b6b0c7926 put_ebml_float()
Originally committed as revision 10299 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:47 +00:00
David Conrad
1e18c4d097 Const correctness
Originally committed as revision 10298 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:45 +00:00
David Conrad
81efc03f58 Get rid of put_ebml_utf8(); the error checking that would have distinguished it from put_ebml_string() belongs elsewhere in lavf.
Originally committed as revision 10297 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:43 +00:00
David Conrad
dbf653f766 Cosmetics: align nicely for better readibility
Originally committed as revision 10296 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:41 +00:00
David Conrad
cf4f763be1 Simplify
Originally committed as revision 10295 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:39 +00:00
David Conrad
67143c0f69 Beginning of mkv muxer, only EBML head is written correctly
Originally committed as revision 10294 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:37 +00:00