8197 Commits

Author SHA1 Message Date
Baptiste Coudurier
6ae38aa3ce mpegts: do not output known sized packet if an unbounded packet is already queued.
Fix issue #2624.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-12 13:04:58 +02:00
Diego Biurrun
046f081b46 configure: Do not unconditionally add -D_POSIX_C_SOURCE to CPPFLAGS.
Adding _POSIX_C_SOURCE to CPPFLAGS globally produces all sorts of problems
since it causes certain system functions to be hidden on some (BSD) systems.
The solution is to only add the flag on systems that really require it, i.e.
glibc-based ones.

This change makes BSD systems compile out-of-the-box without the need for
adding specific flags manually.  It also allows dropping a number of flags
set manually on a file-per-file basis, but were only present to work around
breakage introduced by the presence of _POSIX_C_SOURCE.

Also add _XOPEN_SOURCE to CPPFLAGS for glibc systems.  We use XSI extensions
in several places already, so it is preferable to define it globally instead
of littering source files with individual #defines only needed for glibc.
2011-05-12 11:41:59 +02:00
Thierry Foucu
45faf7fcd3 nsv: Fix misdetection of MP3 files as NSV.
If an MP3 file contains the string NSVs, the NSV probe will confuse it for an
NSV file. Check for 0xBEEF after a Video/Audio chunk to achieve more accuracy.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-05-12 11:32:39 +02:00
Clément Bœsch
b3bbc6fdc5 oggdec: use explicit AVInputFormat struct initializers
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-05-12 11:32:26 +02:00
Clément Bœsch
f95257d27c oggdec: simplify ogg_probe
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-05-12 11:32:26 +02:00
Michael Niedermayer
612122b187 Merge remote branch 'qatar/master'
* qatar/master: (32 commits)
  10-bit H.264 x86 chroma v loopfilter asm
  Port SMPTE S302M audio decoder from FFmbc 0.3. [Copyright headers corrected]
  Fix crash of interlaced MPEG2 decoding
  h264pred: fix one more aliasing violation.
  doc/APIchanges: fill in missing hashes and dates.
  flacenc: use proper initializers for AVOption default values.
  lavc: deprecate named constants for deprecated antialias_algo.
  aac: workaround for compilation on cygwin
  swscale: extend YUV422p support to 10bits depth
  tiff: add support for inverted FillOrder for uncompressed data
  Remove unused softfloat implementation.
  h264pred: fix aliasing violations.
  rotozoom: Eliminate French variable name.
  rotozoom: Check return value of fread().
  rotozoom: Return an error value instead of calling exit().
  rotozoom: Make init_demo() return int and check for errors on invocation.
  rotozoom: Drop silly UINT8 typedef.
  rotozoom: Drop some unnecessary parentheses.
  rotozoom: K&R coding style cosmetics
  rtsp: Only do keepalive using GET_PARAMETER if the server supports it
  ...

Conflicts:
	Changelog
	cmdutils.c
	doc/APIchanges
	doc/general.texi
	ffmpeg.c
	ffplay.c
	libavcodec/h264pred_template.c
	libavcodec/resample.c
	libavutil/pixfmt.h
	libavutil/softfloat.c
	libavutil/softfloat.h
	tests/rotozoom.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-12 04:51:24 +02:00
Michael Niedermayer
4ea216e761 libavformat/utils: Only consider dvb teletext timestamps for start time when they are consistent with the rest.
This fixes Ticket51.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-12 03:40:21 +02:00
ami_stuff
4f038fdc23 Add "DAVC" FourCC
This FourCC is used by "mpegable AVC" codec and the file encoded with this codec decodes correctly with FFmpeg's H264 decoder.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-11 22:43:30 +02:00
Baptiste Coudurier
9aa91043f3 Port SMPTE S302M audio decoder from FFmbc 0.3. 2011-05-11 17:25:06 +02:00
Martin Storsjö
0b4949b518 rtsp: Only do keepalive using GET_PARAMETER if the server supports it
This is more like what VLC does. If the server doesn't mention
supporting GET_PARAMETER in response to an OPTIONS request,
VLC doesn't send any keepalive requests at all. After this patch,
libavformat will still send OPTIONS keepalives if GET_PARAMETER
isn't explicitly said to be supported.

Some RTSP cameras don't support GET_PARAMETER, and will
close the connection if this is sent as keepalive request
(but support OPTIONS just fine, but probably don't need any
keepalive at all). Some other cameras don't support using
OPTIONS as keepalive, but require GET_PARAMETER instead.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-05-11 10:42:34 +03:00
Michael Niedermayer
59eb12faff Merge remote branch 'qatar/master'
* qatar/master: (30 commits)
  AVOptions: make default_val a union, as proposed in AVOption2.
  arm/h264pred: add missing argument type.
  h264dsp_mmx: place bracket outside #if/#endif block.
  lavf/utils: fix ff_interleave_compare_dts corner case.
  fate: add 10-bit H264 tests.
  h264: do not print "too many references" warning for intra-only.
  Enable decoding of high bit depth h264.
  Adds 8-, 9- and 10-bit versions of some of the functions used by the h264 decoder.
  Add support for higher QP values in h264.
  Add the notion of pixel size in h264 related functions.
  Make the h264 loop filter bit depth aware.
  Template dsputil_template.c with respect to pixel size, etc.
  Template h264idct_template.c with respect to pixel size, etc.
  Preparatory patch for high bit depth h264 decoding support.
  Move some functions in dsputil.c into a new file dsputil_template.c.
  Move the functions in h264idct into a new file h264idct_template.c.
  Move the functions in h264pred.c into a new file h264pred_template.c.
  Preparatory patch for high bit depth h264 decoding support.
  Add pixel formats for 9- and 10-bit yuv420p.
  Choose h264 chroma dc dequant function dynamically.
  ...

Conflicts:
	doc/APIchanges
	ffmpeg.c
	ffplay.c
	libavcodec/alpha/dsputil_alpha.c
	libavcodec/arm/dsputil_init_arm.c
	libavcodec/arm/dsputil_init_armv6.c
	libavcodec/arm/dsputil_init_neon.c
	libavcodec/arm/dsputil_iwmmxt.c
	libavcodec/arm/h264pred_init_arm.c
	libavcodec/bfin/dsputil_bfin.c
	libavcodec/dsputil.c
	libavcodec/h264.c
	libavcodec/h264.h
	libavcodec/h264_cabac.c
	libavcodec/h264_cavlc.c
	libavcodec/h264_loopfilter.c
	libavcodec/h264_ps.c
	libavcodec/h264_refs.c
	libavcodec/h264dsp.c
	libavcodec/h264idct.c
	libavcodec/h264pred.c
	libavcodec/mlib/dsputil_mlib.c
	libavcodec/options.c
	libavcodec/ppc/dsputil_altivec.c
	libavcodec/ppc/dsputil_ppc.c
	libavcodec/ppc/h264_altivec.c
	libavcodec/ps2/dsputil_mmi.c
	libavcodec/sh4/dsputil_align.c
	libavcodec/sh4/dsputil_sh4.c
	libavcodec/sparc/dsputil_vis.c
	libavcodec/utils.c
	libavcodec/version.h
	libavcodec/x86/dsputil_mmx.c
	libavformat/options.c
	libavformat/utils.c
	libavutil/pixfmt.h
	libswscale/swscale.c
	libswscale/swscale_internal.h
	libswscale/swscale_template.c
	tests/ref/seek/lavf_avi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-11 05:47:02 +02:00
Anton Khirnov
b66752790a AVOptions: make default_val a union, as proposed in AVOption2.
This breaks API and ABI.
2011-05-10 20:22:06 +02:00
Andres Gonzalez
dc05b6af3d Added oggpagesize option for Ogg encoding. Allows setting a preferred page size. When set, if an Ogg stream buffer has enough data, a page is made, instead of filling maximum-size pages. 2011-05-10 19:30:56 +02:00
Vitor Sessak
ecc297308f lavf/utils: fix ff_interleave_compare_dts corner case.
This should fix behavior introduced by commit
96573c0d7605672d69b42ae1dcf18764ce47c71a. 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
Michael Niedermayer
b97b4b58a6 Merge remote branch 'qatar/master'
* qatar/master:
  mpegaudiodec: group #includes more sanely
  mpegaudio: remove #if 0 blocks
  ffmpeg.c: reset avoptions after each input/output file.
  ffmpeg.c: store per-output stream sws flags.
  mpegaudio: remove CONFIG_MPEGAUDIO_HP option
  mpegtsenc: Clear st->priv_data when freeing it
  udp: Fix receiving RTP data over multicast
  rtpproto: Remove an unused variable
  regtest: fix wma tests
NOT pulled:  mpegaudio: remove CONFIG_AUDIO_NONSHORT
  regtest: separate flags for encoding and decoding

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-10 04:03:17 +02:00
Michael Niedermayer
67d441499a seeking: Favor pkt->pos for generic index building where possible.
See [FFmpeg-devel] [PATCH] Only using st->parser->pos when doing?repacking in the parser.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-10 03:28:42 +02:00
Martin Storsjö
ed87375dd5 mpegtsenc: Clear st->priv_data when freeing it
If not cleared, the caller might try to free it.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-05-09 19:14:40 +03:00
Martin Storsjö
a7ea5e3d35 udp: Fix receiving RTP data over multicast
Earlier, AVIO_RDWR was handled as READ, and all the checks
for the AVIO_WRONLY flag explicitly meant the write-only case.
When changed from old AVIO/URL contants to AVIO_FLAG in
59d96941f0285a5, these comparisons were updated incorrectly, by
mapping checks for AVIO_WRONLY to checks for AVIO_FLAG_WRITE.

When receiving RTP over UDP, the urlcontext is opened with
READ_WRITE flags.

This patch updates the flag comparisons to check for the same
conditions as the code did prior to 59d96941f0285a5.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-05-09 19:14:38 +03:00
Martin Storsjö
f9a6cfdd04 rtpproto: Remove an unused variable
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-05-09 19:14:37 +03:00
Michael Niedermayer
282e8d4b4f avienc: Update 2 debug statements to match the current code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-09 17:49:25 +02:00
Michael Niedermayer
5deedf3552 h264probe: update to latest spec.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-09 16:05:29 +02:00
Michael Niedermayer
25308afbb2 wtvdec: Avoid gmtime_r() it breaks compile on windows.
Better solutions welcome, this is just a quick fix to unbreak compile.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-09 04:17:24 +02:00
Peter Ross
fddf0521c6 wtv: calculate ole date correctly (is seconds since 1899-12-30) 2011-05-09 02:25:40 +02:00
Peter Ross
8acab7ae5b wtv: detect ole date overflow 2011-05-09 02:25:40 +02:00
Reimar Döffinger
d3445a911c Remove unused variable. 2011-05-07 20:14:48 +02:00
Reimar Döffinger
48b9b7edb3 Replace deprecated url_fseek by avio_seek. 2011-05-07 20:14:48 +02:00
Reimar Döffinger
5ce33e6bc5 Move ifdef to avoid unused variable warnings. 2011-05-07 20:14:47 +02:00
Reimar Döffinger
1795364205 Remove unused variables. 2011-05-07 20:14:47 +02:00
Reimar Döffinger
8c3651f4a5 Fix printf format string, fixes a warning. 2011-05-07 20:14:47 +02:00
Michael Niedermayer
7deaa2b8bd riffenc/ffmpeg: Fix stream copy
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-07 20:03:04 +02:00
Reimar Döffinger
5631729c3d Increase TS packet size detection buffer.
Fixes warning message with ticket #68.
2011-05-07 17:38:18 +02:00
Reimar Döffinger
90f5e991be Assume some TS packet size instead of failing completely.
Fixes ticket #68.
2011-05-07 17:38:18 +02:00
jan gerber
5901cd6236 oggdec:Correct duration
Based on a patch by Reimar Döffinger.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-07 16:21:55 +02:00
Reimar Döffinger
6266c51538 Simplify condition. 2011-05-07 09:47:35 +02:00
Michael Niedermayer
e5a85164b1 Merge remote branch 'qatar/master'
* qatar/master:
  mov: fix composition timestamps on movie fragments.
  wmavoice: Use proper size in memeset().
2011-05-07 04:14:09 +02:00
Michael Niedermayer
c60d2be551 mp3enc:simplify
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-07 04:01:28 +02:00
Michael Niedermayer
e1e8a8ded4 mp3enc:better variable name for the frames field file postion.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-07 04:01:08 +02:00
Michael Niedermayer
4382bc2ceb mp3enc: drop nested structs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-07 03:59:57 +02:00
Michael Niedermayer
f2a90c3b34 mp3enc:use FFMIN()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-07 03:58:52 +02:00
Michael Niedermayer
01be9331c7 mp3enc:Drop unneeded floating point math.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-07 03:58:51 +02:00
Michael Niedermayer
ec9a5deb20 mp3enc: drop sum and count bytes instead of bitrates from decoded headers.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-07 03:58:17 +02:00
Michael Niedermayer
7d62475656 mp3enc: remove unneeded ifdef
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-07 03:43:12 +02:00
Michael Niedermayer
173c975ead mp3enc: remove unneeded static const variables.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-07 03:43:12 +02:00
Peter Belkner
d62bf5d4e7 mp3enc: mux a XING header
The patch below provides exactly that to the MP3 muxer. A XING header
containing

   * the numer of frames,
   * the size, and
   * a TOC

is generated.

It's based on an idea by Anton Khirnov (restricted to the number of
frames) found at

   http://patches.ffmpeg.org/patch/1891/

The TOC is generated as found in lame's "VbrTag.c".

According to my tests the following reproduces the number of frames, the
size and the TOC in "c.mp3" from "b.mp3" (except a shift due to shorter
XING header generated by FFmpeg):

   lame -V2 a.wav b.mp3
   ffmpeg -i b.mp3 -acodec copy -y c.mp3
2011-05-07 03:27:38 +02:00
Michael Niedermayer
a565c7b7f2 aiffdec:Rewrite get_meta()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-06 17:39:31 +02:00
Yusuke Nakamura
45a811b512 mov: fix composition timestamps on movie fragments.
This fixes, for instance, the case that there is a track that has some samples with composition time offset and has a track run without sample-composition-time-offsets-present.
2011-05-05 22:07:54 -07:00
Michael Niedermayer
187528441a avidec: correct frame_offset for seeking
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-06 03:54:35 +02:00
Michael Niedermayer
5e24098b84 avidec: detect mpeg4 keyframes in indexless avi
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-06 02:21:36 +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
Diego Biurrun
8799541a0a Fix standalone compilation of pipe protocol.
file_check() is not only used by the file protocol, adjust #ifdef accordingly.
2011-05-04 21:12:42 +02:00