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

10819 Commits

Author SHA1 Message Date
Paul B Mahol
881e0de640 iff: pass context to av_log_ask_for_sample
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-21 16:06:36 +00:00
Diego Biurrun
1cf6e7dd37 mpegenc: remove disabled code 2012-07-21 16:34:29 +02:00
Paul B Mahol
ad69e778b7 iff: remove dupe ID_ANNO definition
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-21 10:30:12 +00:00
Piotr Bandurski
3800facac6 riff: add G723_1 wav tag
Reveiwed-by: compn <tempn@twmi.rr.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-21 05:48:31 +02:00
Michael Niedermayer
3c033d00f5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libopenjpeg: introduce lowres and lowqual private options
  FATE: add a test for flac cover art.
  cafdec: allow larger ALAC magic cookie
  alac: fix channel pointer assignment for 24 and 32-bit

Conflicts:
	libavcodec/alac.c
	libavcodec/libopenjpegdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-21 04:25:11 +02:00
Michael Niedermayer
a4f94f24b4 udp: fix compilation when HAVE_PTHREAD_CANCEL isnt defined
This happens with for example mplayer.
Fixing it in ffmpeg allows new ffmpeg to be compiled with older mplayer
which would not be possible if the fix was just in mplayer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-20 14:58:11 +02:00
Nicolas George
b0629366a2 lavf: make cmdutils's check_stream_specifier public.
The new function is called avformat_match_stream_specifier()
and does not include logging the error message.
2012-07-20 13:16:23 +02:00
Nicolas George
30549294ef matroska: add support for Opus.
Opus in Matroska is still a draft.
2012-07-20 11:19:01 +02:00
Nicolas George
e62fd6619f oggdec: add support for Opus codec.
This patch also introduces CODEC_ID_OPUS.
2012-07-20 11:16:52 +02:00
Justin Ruggles
1749e12f45 cafdec: allow larger ALAC magic cookie
It already skips any extra bytes at the end, and apparently there are some
samples in the wild with larger 'kuki' chunks.
2012-07-19 20:14:29 -04:00
Nicolas George
885fc05865 lavf: count skipped samples for initial timestamps.
If skip_samples is set and timestamps are synthesized using durations,
make them start at -skip_samples (rescaled) instead of 0,
so that the timestamp of the first undiscarded sample is 0.
2012-07-19 23:41:03 +02:00
Nicolas George
0e57d79b0c lavf: set pkt_timebase at the same time as stream->time_base. 2012-07-19 23:41:03 +02:00
Michael Niedermayer
e4c00aca96 Merge remote-tracking branch 'qatar/master'
* qatar/master: (38 commits)
  alac: cosmetics: general pretty-printing and comment clean up
  alac: calculate buffer size outside the loop in allocate_buffers()
  alac: change some data types to plain int
  alac: cosmetics: rename some variables and function names
  alac: multi-channel decoding support
  alac: split element parsing into a separate function
  alac: support a read sample size of up to 32
  alac: output in planar sample format
  alac: add 32-bit decoding support
  alac: simplify channel interleaving
  alac: use AVPacket fields directly in alac_decode_frame()
  alac: fix check for valid max_samples_per_frame
  alac: use get_sbits() to read LPC coefficients instead of casting
  alac: move the current samples per frame to the ALACContext
  alac: avoid using a double-negative when checking if the frame is compressed
  alac: factor out output_size check in predictor_decompress_fir_adapt()
  alac: factor out loading of next decoded sample in LPC prediction
  alac: use index into buffer_out instead of incrementing the pointer
  alac: simplify lpc coefficient adaptation
  alac: reduce the number of local variables needed in lpc prediction
  ...

Conflicts:
	libavcodec/alac.c
	libavformat/cafdec.c
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-19 23:31:04 +02:00
Stefano Sabatini
a8d8e868c6 lavf/udp: warn in case the circular_buffer_size or overrun_nonfatal options are not supported
They are only supported if pthread is available.
2012-07-19 22:48:09 +02:00
Justin Ruggles
3bab7cd128 avformat: move 'chan' tag parsing to mov_chan.c to share with the CAF demuxer 2012-07-19 13:26:45 -04:00
Justin Ruggles
c0196a14b9 caf: use int64_t for num_packets
It is used to store a value read by avio_rb64().
2012-07-19 13:26:45 -04:00
Justin Ruggles
f5a9c35f88 caf: fix 'pakt' chunk parsing
according to the CAF specification:
"... the value for mChunkSize can be greater than the actual valid content
of the packet table chunk"
2012-07-19 13:26:45 -04:00
Justin Ruggles
b0b77b9ca5 caf: support either old or new style ALAC magic kuki chunk 2012-07-19 13:26:45 -04:00
Michael Niedermayer
daa290580d mxfdec: simplify code by using av_calloc()
Reviewed a long time ago by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-19 18:44:46 +02:00
Michael Niedermayer
83d6ad3616 avidec: Mark first frame as keyframe in case there are no keyframes.
This fixes seeking in filecopy.avi of Ticket504

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-19 18:44:46 +02:00
Michael Niedermayer
204c4e953d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ppc: fix build with altivec disabled
  vp3: move idct and loop filter pointers to new vp3dsp context
  build: add CONFIG_VP3DSP, reduce repetition in OBJS lists
  tscc2: do not add/subtract 128 bias during DCT
  tscc2: fix typo in DCT
  configure: clarify external library section of help output
  configure: mark libfdk-aac as nonfree
  configure: cosmetics: drop some unnecessary backslashes
  os_support: K&R formatting cosmetics

Conflicts:
	configure
	libavcodec/vp3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-18 22:34:48 +02:00
Stefano Sabatini
5784a46986 lavf/utils: show the number of stream in case of missing parameter
Increase feedback provided in avformat_find_stream_info().
2012-07-18 18:08:57 +02:00
Stefano Sabatini
739ec710c4 lavf/utils: suggest what to do in case of missing codec information
In particular, fix trac issue #218.
2012-07-18 18:08:57 +02:00
Stefano Sabatini
a293549b32 lavf/utils: extend has_codec_parameters() to make it show what info is missing
Improve feedback.
2012-07-18 18:08:56 +02:00
Michael Niedermayer
56ae5926f7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libopenjpeg: introduce encoding support
  libopenjpeg: rename decoder source file.
  RTMPTS protocol support
  RTMPS protocol support
  avconv: print an error message when demuxing fails.
  tscc2: DCT output should not be clipped
  rtmp: Rename rtmphttp to ffrtmphttp

Conflicts:
	Changelog
	configure
	doc/general.texi
	libavcodec/libopenjpegenc.c
	libavcodec/version.h
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-18 01:27:19 +02:00
Diego Biurrun
7a249625fd os_support: K&R formatting cosmetics 2012-07-17 20:10:50 +02:00
Michael Niedermayer
ad8dabfe9c mov/aac: skip initial aac padding
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-17 17:09:19 +02:00
Piotr Bandurski
b688c7b7f9 riff: add "SM4V" FourCC
Reviewed-by: compn <tempn@twmi.rr.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-17 16:56:51 +02:00
William Yu
6d4e0d1b7e avf:rmdec.c fill duration to AVFormatContext
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-17 16:47:20 +02:00
Samuel Pitoiset
86991ce2dd RTMPTS protocol support
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-17 14:02:55 +03:00
Samuel Pitoiset
6aedabc9b6 RTMPS protocol support
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-17 13:53:33 +03:00
Carl Eugen Hoyos
6dfea3a361 Remove internal MPlayer FourCC viv1.
Reviewed-by: Derek Buitenhuis
Reviewed-by: Paul B Mahol
2012-07-17 08:09:32 +02:00
Samuel Pitoiset
775c4d3625 rtmp: Rename rtmphttp to ffrtmphttp
The prefix makes it easier to distinguish the proper end-user
protocols from the internal ones.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-17 01:19:01 +03:00
Michael Niedermayer
9db747b2a3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: rtmp_parse_result() add case for video and audio packets to avoid undesired debug output.
  configure: Move the getaddrinfo function check into the network block
  configure: Remove an unused 'have' item
  mpeg: remove disabled code
  libfdk-aac: Check if cutoff value is valid
  network: Always use our version of gai_strerror on windows
  network: Undefine existing gai_strerror definitions
  network: Extend the fallback gai_strerror implementation to handle more error codes

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-16 20:45:41 +02:00
Jordi Ortiz
08e087ccf7 rtmp: rtmp_parse_result() add case for video and audio packets to avoid undesired debug output.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-07-16 13:45:15 +02:00
Diego Biurrun
20d569dd61 mpeg: remove disabled code 2012-07-16 00:15:21 +02:00
Martin Storsjö
9e4b04f8b9 network: Always use our version of gai_strerror on windows
Even if linking directly to getaddrinfo, use our version of
gai_strerror instead of the system's version. Microsoft explicitly
documents that their version of gai_strerror is thread-unsafe.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-15 21:41:38 +03:00
Martin Storsjö
c98e2053f5 network: Undefine existing gai_strerror definitions
This avoids warnings if there already exists a definition.

This is the case on windows, where the getaddrinfo isn't available
and linked to (and we use our fallbacks instead, which actually
try to use the proper getaddrinfo version if found at runtime),
but gai_strerror still exists as a define.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-15 21:41:28 +03:00
Martin Storsjö
2ca6e9bb47 network: Extend the fallback gai_strerror implementation to handle more error codes
This is useful if a proper getaddrinfo is loaded dynamically on
windows, while using the fallback implementation of gai_strerror.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-15 21:21:59 +03:00
Piotr Bandurski
a8ff7e3f96 riff: Assign U263 FourCC to CODEC_ID_H263 2012-07-15 14:55:05 +02:00
Piotr Bandurski
96e2507363 isom: add "NO16" FourCC
samples:

http://www.datafilehost.com/download-46d9a0fa.html

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-15 14:49:32 +02:00
Piotr Bandurski
198c4ea200 riff: add dvis/pdvc FourCCs
samples:

http://www.datafilehost.com/download-4b49270d.html

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-15 14:49:32 +02:00
Piotr Bandurski
8d0ec6e060 isom: add "MNG" FourCC
sample:

http://www.datafilehost.com/download-92da395c.html

Reviewed-by:  compn <tempn@twmi.rr.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-15 14:49:32 +02:00
Michael Niedermayer
ab46300078 Merge remote-tracking branch 'dwbuiten/master'
* dwbuiten/master:
  doc: Remove stray @item from git-howto
  libfdk-aac: Port to ff_alloc_packet2
  doxy: move av_guess_sample_aspect_ratio to correct place

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-15 03:40:19 +02:00
Michael Niedermayer
57d5a224ce mp3enc: add lame tag with start padding info
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-14 17:20:22 +02:00
Stefan Gehrer
e98330df90 movenc: write track header transformation matrix depending on "rotate" metadata
should fix ticket #505
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-14 02:57:11 +02:00
Michael Niedermayer
674216991d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: Fix APE tag dependencies
  MS Expression Encoder Screen decoder
  libfdk-aac: Allow setting the encoder bandwidth/cutoff frequency

Conflicts:
	Changelog
	libavcodec/avcodec.h
	libavcodec/version.h
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-13 22:22:24 +02:00
Compn
c3a4c1bd5a add PLV1 fourcc to mpeg4
works on http://samples.ffmpeg.org/V-codecs/PLV1/york-water-meteor.avi
2012-07-13 15:10:53 -04:00
Derek Buitenhuis
29470bb940 doxy: move av_guess_sample_aspect_ratio to correct place
It should not be a part of the RIFF FourCCs group.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-07-13 11:51:06 -04: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
Diego Biurrun
47aed43990 build: Fix APE tag dependencies 2012-07-13 10:17:20 +02:00
Kostya Shishkov
5b7e3a195d MS Expression Encoder Screen decoder 2012-07-13 06:59:48 +02:00
Michael Niedermayer
620c6292b1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  build: Fix Ogg demuxer dependencies
  build: Fix FLAC demuxer dependencies
  flac: Move flac functions shared between libraries to flac common code
  build: Fix CAF demuxer dependencies
  build: Fix MP2 muxer dependencies
  build: Add missing build rules for the ISMV muxer
  configure: Drop redundant mxf_d10 test dependency declaration
  Support AAC encoding via the external library fdk-aac
  libavcodec: Add more AAC profiles
  dct/fft-test: use a replacement getopt() if the system has none present.

Conflicts:
	Changelog
	libavcodec/Makefile
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-12 23:57:00 +02:00
Michael Niedermayer
db03f91f4b mxfenc: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-12 23:16:52 +02:00
Michael Niedermayer
19ff479f69 mp3dec: parse initial silence padding information from lame tag
And pass the information on to the lavf core.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-12 22:25:25 +02:00
Michael Niedermayer
018601dbf9 lavf: inject sample skip side data when requested by the demuxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-12 20:32:03 +02:00
Diego Biurrun
b7884ff7af build: Fix MP2 muxer dependencies 2012-07-12 10:45:21 +02:00
Diego Biurrun
d648de61e6 build: Add missing build rules for the ISMV muxer 2012-07-12 10:45:20 +02:00
Michael Niedermayer
9ca27df52f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Check for the math function rint
  TechSmith Screen Codec 2 decoder
  rtsp: Add listen mode
  rtsp: Make rtsp_open_transport_ctx() non-static
  rtsp: Move rtsp_read_close
  rtsp: Parse the mode=receive/record parameter in transport lines

Conflicts:
	Changelog
	libavcodec/avcodec.h
	libavcodec/version.h
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-11 23:57:11 +02:00
Michael Niedermayer
e3c2d83183 avidec: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-11 23:26:55 +02:00
Kostya Shishkov
781888da89 TechSmith Screen Codec 2 decoder 2012-07-11 07:29:05 +02:00
Matthieu Bouron
b8a90976da lavf/mxfenc: fix dnxhd codec uls and aspect ratio
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-11 04:00:57 +02:00
Jordi Ortiz
a8ad6ffafe rtsp: Add listen mode
This makes the RTSP demuxer act as a server, listening for an
incoming connection.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-10 22:00:28 +03:00
Michael Niedermayer
b27c7d70d8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mss1: fix decoding masked regions in interframes
  mxfdec: fix off by one error.
  mxfdec: only parse next partition pack if parsing forward
  mxfdec: let pkt->pts = mxf->current_edit_unit if intra-only
  mxfdec: fix frame height vs field height confusion
  mxfdec: Add intra_only flag to MXFTrack
  mxfdec: fix Avid AirSpeed files being misinterpreted as OP1a
  mxfdec: truncate packets that extend past the next edit unit
  mxfdec: set pixel format for cdci picture formats
  mxfdec: detect uncomp pictures using essence container ul
  mxfdec: set track edit rate num/den in expected order
  x86/cpu: implement get/set_eflags using intrinsics
  x86/cpu: implement support for cpuid through intrinsics
  x86/cpu: implement support for xgetbv through intrinsics
  lavu: use intrinsics for emms on systems lacking inline asm support
  mem: Don't abort on av_malloc(0) in debug mode

Conflicts:
	configure
	libavformat/mxf.h
	libavformat/mxfdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-10 20:51:51 +02:00
Jordi Ortiz
6e71c1202b rtsp: Make rtsp_open_transport_ctx() non-static
This is required for the upcoming RTSP listen mode.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-10 21:21:19 +03:00
Jordi Ortiz
6bbb362218 rtsp: Move rtsp_read_close
This avoids having to add forward declarations in the following
RTSP listen mode commit.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-10 21:20:34 +03:00
Jordi Ortiz
45b068580b rtsp: Parse the mode=receive/record parameter in transport lines
We need to support the nonstandard mode=receive, for compatibility
with older libavformat clients.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-10 21:20:04 +03:00
Michael Niedermayer
f39bbc9d21 mxfdec: fix off by one error.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-10 13:51:05 +02:00
Tomas Härdin
83728d2d36 mxfdec: only parse next partition pack if parsing forward
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-10 13:51:04 +02:00
Tomas Härdin
34ca5ae51d mxfdec: let pkt->pts = mxf->current_edit_unit if intra-only
We cannot do this in general since we could be reading
a file with B-frames while lacking an index.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-10 13:51:04 +02:00
Joseph Artsimovich
634d670538 mxfdec: fix frame height vs field height confusion
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Reveiwed-by: Baptiste Coudurier <baptiste.coudurier@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-10 13:51:04 +02:00
Tomas Härdin
5ed032fb8b mxfdec: Add intra_only flag to MXFTrack
This allows future assumptions to be made without affecting non-intra files.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-10 13:51:04 +02:00
Tomas Härdin
fb8fa3c67c mxfdec: fix Avid AirSpeed files being misinterpreted as OP1a
The "ECs != 1 -> OP1a" assumption was wrong. Luckily, the file
that triggered that behavior had two ECs, not zero. Hence
distinguishing between them is simple in this case.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-10 13:51:04 +02:00
Tomas Härdin
1fadf53e00 mxfdec: truncate packets that extend past the next edit unit
This fixes rare cases where OPAtom may be treated
as OP1a, causing all essence to be read into RAM.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-10 13:51:04 +02:00
Philip de Nier
fda891e108 mxfdec: set pixel format for cdci picture formats
The properties of the CDCI Descriptor are insufficient to specify
the pixel format for uncompressed picture data. SMPTE 377-1 and
RP224v10 have defined a set of picture coding labels to indicate what
formatting was used.

This patch uses 2 labels to detect UYVY422 or YUYV422 pixel formats.

It defaults to UYVY422 for 8-bit 4:2:2 pictures to support files
that were created before the coding labels were introduced ~2008

The codec pix_fmt default was changed from 0 (PIX_FMT_YUV420P) to
-1 (PIX_FMT_NONE)

Reviewed-by: Baptiste Coudurier <baptiste.coudurier@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-10 13:51:04 +02:00
Philip de Nier
dfefede00e mxfdec: detect uncomp pictures using essence container ul
This supports detection of uncompressed picture in files that
didn't include a Picture Coding Label. The lables weren't
available until SMPTE 377-1 and RP224v10

Reviewed-by: Baptiste Coudurier <baptiste.coudurier@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-10 13:51:04 +02:00
Philip de Nier
5255ca24cd mxfdec: set track edit rate num/den in expected order
This matches the order used for the index table edit rate.

Reviewed-by: Baptiste Coudurier <baptiste.coudurier@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-10 13:51:03 +02:00
Carl Eugen Hoyos
7307746444 Recognize yuv10 image files as v210x.
Reviewed-by: Kieran Kunhya
2012-07-10 13:27:16 +02:00
Stefano Sabatini
aef9e94f73 lavf/segment: add -segment_time_delta option 2012-07-10 00:53:01 +02:00
Stefano Sabatini
2058b52cf8 lavf/segment: add -segment_times option
Address trac ticket #1504.
2012-07-10 00:49:43 +02:00
Michael Niedermayer
f8911b987d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mss3: use standard zigzag table
  mss3: split DSP functions that are used in MTS2(MSS4) into separate file
  motion-test: do not use getopt()
  tcp: add initial timeout limit for incoming connections
  configure: Change the rdtsc check to a linker check
  avconv: propagate fatal errors from lavfi.
  lavfi: add error handling to filter_samples().
  fate-run: make avconv() properly deal with multiple inputs.
  asplit: don't leak the input buffer.
  af_resample: fix request_frame() behavior.
  af_asyncts: fix request_frame() behavior.
  libx264: support aspect ratio switching
  matroskadec: honor error_recognition when encountering unknown elements.
  lavr: resampling: add support for s32p, fltp, and dblp internal sample formats
  lavr: resampling: add filter type and Kaiser window beta to AVOptions
  lavr: Use AV_SAMPLE_FMT_NONE to auto-select the internal sample format
  lavr: mix: validate internal sample format in ff_audio_mix_init()

Conflicts:
	ffmpeg.c
	ffplay.c
	libavcodec/libx264.c
	libavfilter/audio.c
	libavfilter/split.c
	libavformat/tcp.c
	tests/fate-run.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-09 22:40:12 +02:00
Jordi Ortiz
5427df0186 tcp: add initial timeout limit for incoming connections
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-09 17:30:19 +03:00
Al@dneg.com
c88a832735 movenc: Addtion of \251cmt field to udta
Allows support of comment in udta for libquicktime, also currently \251des is used
 which is ignored by mov.c.
\251cmt IS currently already picked up by mov.c

References

libquicktime
http://libquicktime.cvs.sourceforge.net/viewvc/libquicktime/libquicktime/src/udta.c?view=markup

Also listed here:
http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/QuickTime.html#UserData

Not listed here, but that`s not entirely surprising, as udta fields are expected to be somewhat arbitary.
http://developer.apple.com/library/mac/#documentation/QuickTime/qtff/QTFFChap2/qtff2.html#//apple_ref/doc/uid/TP40000939-CH204-BBCCFFGD

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-09 15:30:59 +02:00
Anton Khirnov
5b7a88f0ba matroskadec: honor error_recognition when encountering unknown elements. 2012-07-09 07:43:11 +02:00
Paul B Mahol
30659a2233 smush: properly flag audio packets
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-08 20:49:35 +00:00
Paul B Mahol
26fa84105b paf: properly flag video packets
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-08 20:49:04 +00:00
Michael Niedermayer
ca1f2b3e10 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cmutils: include shellapi.h on Win32 (for CommandLineToArgvW).
  x86/timer: implement an intrinsic-based version for rdtsc (AV_READ_TIME).
  id3v2: add a mimetype for bmp pictures.
  flacdec: be less strict when parsing attached pictures.
  flacdec: don't create an attached picture stream until we have all information.

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-08 22:33:32 +02:00
Michael Niedermayer
d8ce478c43 lavf: limit "Adjusting PTS forward" code to video streams
It can end up slightly messing up a series of valid timestamps
after a invalid one.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-08 22:29:34 +02:00
Stefano Sabatini
3f345290dc lavf/segment: sort options 2012-07-08 17:38:24 +02:00
Stefano Sabatini
8dc31f8da8 lavf/segment: make use of av_parse_time() when parsing the -segment_time value
Increase flexibility/consistency.

Also rename recording_time field to time, for enhanced
consistency/readability.
2012-07-08 17:38:04 +02:00
Stefano Sabatini
7f08bfae6e lavf/segment: add segment_list_type option, extend format for the segment list file
Add list extended format which specifies in the list file the start and
ending time for each segment. This is required to make it available this
information to external tools, avoiding the need to perform file analysis
in the output segments.
2012-07-08 17:08:56 +02:00
Stefano Sabatini
b010d9b586 lavf/nutenc: provide meaningful error message and error code in case of invalid pts 2012-07-08 17:08:56 +02:00
Anton Khirnov
25b51b2c44 id3v2: add a mimetype for bmp pictures. 2012-07-07 20:34:41 +02:00
Anton Khirnov
b7d3a9a015 flacdec: be less strict when parsing attached pictures.
Only return an error if memory allocation fails or error recognition is
set to explode. Otherwise just print an error message and continue
reading the file.
2012-07-07 20:34:20 +02:00
Anton Khirnov
dba5b06ead flacdec: don't create an attached picture stream until we have all information.
This way we don't end with an invalid stream if parsing the picture
fails.
2012-07-07 20:33:44 +02:00
Michael Niedermayer
3245c8b669 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mxfdec: replace x>>av_log2(sizeof(..)) by x/sizeof(..).
  x86: h264_intrapred: Don't add the 'd' suffix to the SPLATB_REG macro

Conflicts:
	libavformat/mxfdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 20:29:43 +02:00
Ronald S. Bultje
fdaad6354f mxfdec: replace x>>av_log2(sizeof(..)) by x/sizeof(..).
Also replace x>>av_log2(sizeof(..)) + 1 by x/sizeof(..). The +1 is
probably meant to emulate av_log2_ceil(sizeof(..)) in cases where ".."
is not a power of two.
2012-07-07 10:09:59 -07:00
Michael Niedermayer
46a47077ee Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: add functions for testing code fragments
  af_amix: avoid spurious EAGAIN.
  af_amix: return AVERROR(EAGAIN) when request_frame didn't produce output.
  af_amix: only consider negative return codes as errors.
  avconv: use only meaningful timestamps in start time check.
  avconv: fix the check for -ss as an output option.
  mss3: add forgotten 'static' qualifier for private table
  lavc: options: add planar names for request_sample_fmt
  flacdec: add planar output support
  flvdec: Treat all nellymoser versions as the same codec

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-07 02:17:30 +02:00
Lou Logan
b22ecbc6a5 cosmetics: various spelling fixes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-06 17:08:22 +02:00
Michael Niedermayer
24823a761c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  qdm2: remove broken and disabled dump_context() debug function
  x86: h264_intrapred: use newly introduced SPLAT* and PSHUFLW macros
  x86inc: add SPLATB_LOAD, SPLATB_REG, PSHUFLW macros
  x86inc: modify ALIGN to not generate long nops on i586
  x86: h264_intrapred: port to cpuflag macros
  avplay: update input filter pointer when the filtergraph is reset.
  avconv: fix parsing of -force_key_frames option.
  h264: use templates to avoid excessive inlining
  xtea: Make the count parameter match the documentation
  blowfish: Make the count parameter match the documentation
  mpegvideo: Don't use ff_mspel_motion() for vc1
  xtea: invert branch and loop precedence
  blowfish: invert branch and loop precedence
  flvdec: optionally trust the metadata
  avconv: Set audio filter time base to the sample rate
  vp8: Add ifdef guards around the sse2 loopfilter in the sse2slow branch too

Conflicts:
	ffmpeg.c
	ffplay.c
	libavcodec/h264.c
	libavcodec/mpegvideo_common.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-05 21:55:31 +02:00
Martin Storsjö
e43f56b205 flvdec: Treat all nellymoser versions as the same codec
This avoids creating new AVStreams for them when switching between
different variants of them, since we can handle changes between
different sample rates of nellymoser within the same stream.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-05 22:07:45 +03:00
Matthieu Bouron
d99001cab3 mxfenc: support dnxhd codec 2012-07-05 13:34:49 +02:00
Matthieu Bouron
135e684311 mxfenc: support smpte dv codec
After some internal talks it seems the code is similar to what is in FFmbc
by Baptiste Coudurier; Baptiste accepted to relicense the similiar chunks
from GPL to LGPL.
2012-07-05 13:34:43 +02:00
Georg Lippitsch
325fb246f2 FireWire DV/HDV input device using libiec61883
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2012-07-05 13:02:49 +02:00
Alexander Strasser
1fe6cb448a lavf/file: cosmetic: Use "not" instead of "equals zero"
This is more similar to the "overall" FFmpeg coding style.
2012-07-05 10:55:49 +02:00
Alexander Strasser
585bd4922a lavf/file: cosmetic: Remove superfluous ternary operator 2012-07-05 10:55:49 +02:00
Luca Barbato
5b54a90c8b flvdec: optionally trust the metadata
In certain conditions video or audio frames might appear way later in the
stream.
2012-07-05 10:37:34 +02:00
Paul B Mahol
7de4a16508 PAF demuxer and decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-05 02:54:34 +00:00
Carl Eugen Hoyos
73bb4e9ca6 nut: add 12/14 bit yuv to nut/raw
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-05 04:23:55 +02:00
Michael Niedermayer
039e9fe01c Merge remote-tracking branch 'qatar/master'
* qatar/master: (29 commits)
  lavfi: reclassify showfiltfmts as a TESTPROG
  graph2dot: fix printf format specifier
  swscale: yuv2planeX 8bit >=sse2 functions need aligned stack on x86-32.
  vp8: loopfilter >=sse2 functions need aligned stack on x86-32.
  amr: remove shift out of the AMR_BIT() macro.
  dsputilenc: group yasm and inline asm function pointer assignment.
  mov: use forward declaration of a function instead of a table.
  Clarify Doxygen comment for FF_API_* #defines.
  configure: simplify get_version()
  Create version.h headers for libraries that lack them
  gitignore: Use full path instead of relative path to specify patterns
  mpegvideo: remove VLAs
  Add XTEA encryption support in libavutil
  Add Blowfish encryption support in libavutil
  eval: Add the isinf() function and tests for it
  flacdec: move lpc filter to flacdsp
  flacdec: split off channel decorrelation as flacdsp
  avplay: Add an option for not limiting the input buffer size
  FATE: add a test for WMA cover art.
  FATE: add a test for apetag cover art
  ...

Conflicts:
	.gitignore
	configure
	ffplay.c
	libavcodec/Makefile
	libavcodec/error_resilience.c
	libavcodec/mpegvideo.c
	libavcodec/ratecontrol.c
	libavdevice/avdevice.h
	libavfilter/Makefile
	libavfilter/filtfmts.c
	libavfilter/version.h
	libavformat/mov.c
	libavformat/version.h
	libavutil/Makefile
	libavutil/avutil.h
	libavutil/version.h
	libswscale/swscale.h
	libswscale/x86/swscale_mmx.c
	tests/fate/libavutil.mak
	tests/lavfi-regression.sh
	tools/graph2dot.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 21:03:28 +02:00
Ronald S. Bultje
1ce1e6360d mov: use forward declaration of a function instead of a table.
MSVC gives a compile error on the tentative definition of
mov_default_parse_table[].
2012-07-04 07:45:30 -07:00
Diego Biurrun
2047e40e6e Clarify Doxygen comment for FF_API_* #defines. 2012-07-04 15:10:10 +02:00
Piotr Bandurski
a54bc1ebb8 riff: add "YUV8" FourCC
sample:

http://samples.mplayerhq.hu/V-codecs/yuv8/MAILTEST.AVI

Reviewed-by: compn <tempn@twmi.rr.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 04:17:00 +02:00
Michael Niedermayer
86e107a7d4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  cosmetics: Consistently use C-style comments with multiple inclusion guards
  anm: fix a few Doxygen comments
  misc typo and wording fixes
  attributes: add av_noreturn
  attributes: drop pointless define guards
  configure: do not disable av_always_inline with --enable-small
  flvdec: initial stream switch support
  avplay: fix write on freed memory for rawvideo
  snow: remove a VLA used for edge emulation
  x86: lavfi: fix gradfun/yadif build with mmx/sse disabled
  snow: remove the runs[] VLA.
  snow: Check mallocs at init
  flacdec: remove redundant setting of avctx->sample_fmt

Conflicts:
	ffplay.c
	libavcodec/h264.c
	libavcodec/snow.c
	libavcodec/snow.h
	libavcodec/snowdec.c
	libavcodec/snowenc.c
	libavformat/flvdec.c
	libavutil/attributes.h
	tools/patcheck

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-04 00:32:31 +02:00
Stefano Sabatini
af392efe51 lavf/segment: rename SegmentContext.pb to list_pb
The new name is more auto-explicative, as the pb is used for the segment
list file.
2012-07-04 00:02:56 +02:00
Stefano Sabatini
d8013f38ab lavf/segment: add error log in case of invalid filename template
Better rather than silently exit.
2012-07-03 23:26:07 +02:00
Stefano Sabatini
a1e092ccd3 lavf/segment: fix logic for segmenting audio-only inputs
Also add a comment for clarifying the logic.

Fix trac ticket #1290.
2012-07-03 23:23:36 +02:00
Stefano Sabatini
4e2899dd31 lavf/segment: add more information in log message in seg_write_packet() 2012-07-03 23:23:29 +02:00
Stefano Sabatini
fd0e6ef99a lavf/segment: remove unused offset variable 2012-07-03 21:48:50 +02:00
Stefano Sabatini
77dcae5d74 lavf/segment: apply misc fixes to the private options internal documentation
Option help message tell what the option *does*, not what the set field
represents.
2012-07-03 21:48:50 +02:00
Stefano Sabatini
a5af29336a lavf/segment: slightly simplify fail logic in seg_write_packet() 2012-07-03 21:48:50 +02:00
Stefano Sabatini
4ad17bc76b lavf/segment: move list filename printing logic from segment_end() to segment_start()
Allow to deal with the list file printing only in a single point, thus
simplifying logic, and allow a bit of factorization (no special case
needed when printing the first file name of the list).
2012-07-03 21:48:50 +02:00
Diego Biurrun
09f211987c misc typo and wording fixes 2012-07-03 17:35:11 +02:00
Luca Barbato
09a445ce34 flvdec: initial stream switch support
Codec change midstream gets mapped to a separate stream.
2012-07-03 15:35:51 +02:00
Paul B Mahol
596814f978 jvdec: fix memleak of jv->frames
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-07-03 09:53:42 +00:00
Michael Niedermayer
9d0c71e5e3 jvdemux: correct size for truncated packets
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-03 05:26:15 +02:00
Michael Niedermayer
a08efa2e36 has_decode_delay_been_guessed: tighten up the heuristic.
This adds the minimum delay needed with the current decoder to
recognize the reorder buffer size for the reference bitstreams.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 23:23:33 +02:00
Michael Niedermayer
4e9e0700fb has_decode_delay_been_guessed: skip guessing when sps.num_reorder_frames is available
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 23:18:32 +02:00
Michael Niedermayer
2c883c6acf has_decode_delay_been_guessed: improve heuristic
This allows MR4_TANDBERG_C.264 and MR5_TANDBERG_C.264 to be decoded without -strict 1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 22:59:42 +02:00
Michael Niedermayer
b286383bd2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  asfdec: read attached pictures.
  apetag: reindent
  apetag: export attached covers as video streams.
  apetag: fix the amount of data read from binary tags.
  apetag: make sure avio_get_str() doesn't read more than it should.
  mov: read itunes cover art.
  snow: remove VLA in mc_block()
  intfloat: Don't use designated initializers in the public headers
  snow: remove a VLA.
  doc: Remind devs to check return values, especially for malloc() et al
  MS ATC Screen (aka MSS3) decoder
  vf_yadif: move x86 init code to x86/yadif.c
  vf_gradfun: move x86 init code to x86/gradfun.c
  roqvideo: Remove a totally unused dspcontext
  smacker: remove some unused code
  dsicin: remove dead assignment
  aacdec: remove dead assignment
  rl2: remove dead assignment
  proresenc: make a variable local to the loop where it is used
  alsdec: remove dead assignments

Conflicts:
	Changelog
	doc/developer.texi
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/version.h
	libavfilter/gradfun.h
	libavfilter/x86/gradfun.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 21:19:41 +02:00
Anton Khirnov
5e745cefc0 asfdec: read attached pictures. 2012-07-02 16:16:45 +02:00
Anton Khirnov
728d2afa17 apetag: reindent 2012-07-02 16:16:38 +02:00
Anton Khirnov
02a951b919 apetag: export attached covers as video streams. 2012-07-02 16:16:11 +02:00
Anton Khirnov
b72767df8e apetag: fix the amount of data read from binary tags.
Substract the filename size from the data size.
2012-07-02 16:15:45 +02:00
Anton Khirnov
f2e175c756 apetag: make sure avio_get_str() doesn't read more than it should. 2012-07-02 16:15:34 +02:00
Anton Khirnov
a02b8c695c mov: read itunes cover art. 2012-07-02 16:14:25 +02:00
Clément Bœsch
c855ce2671 lavf/wtvdec: add missing { } around if.
This should fix the current failures spotted by FATE.
2012-07-02 15:09:53 +02:00
Kostya Shishkov
edf35d8342 MS ATC Screen (aka MSS3) decoder 2012-07-02 07:14:44 +02:00
Peter Ross
c4e0e74438 wtvdec: return error when filetime_to_iso8601/crazytime_to_iso8601 conversion fails
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-02 03:55:02 +02:00
Michael Niedermayer
23eeffcd48 mov: add workaround for incorrect 0 time point.
Fixes Ticket1471

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-01 21:41:06 +02:00
Matthieu Bouron
8ac3868ff3 lavf/aiffdec: handle ID3 chunk
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-07-01 20:59:37 +02:00
Stefano Sabatini
aa1cceb5eb lavf/segment: rename variable "size" to "list_size"
The new name is more meaningful/less confusing.
2012-07-01 18:35:15 +02:00
Stefano Sabatini
3bee286ad2 lavf/segment: pass the top level chained muxer format context to segment_end()
Consistent with segment_start() and less confusing.
2012-07-01 18:35:06 +02:00
Michael Niedermayer
64b25938e9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dsputilenc_mmx: split assignment of ff_sse16_sse2 to SSE2 section.
  dnxhdenc: add space between function argument type and comment.
  x86: fmtconvert: add special asm for float_to_int16_interleave_misc_*
  attributes: Add a definition of av_always_inline for MSVC
  cmdutils: Pass the actual chosen encoder to filter_codec_opts
  os_support: Add fallback definitions for stat flags
  os_support: Rename the poll fallback function to ff_poll
  network: Check for struct pollfd
  os_support: Don't compare a negative number against socket descriptors
  os_support: Include all the necessary headers for the win32 open function
  x86: vc1: fix and enable optimised loop filter

Conflicts:
	cmdutils.c
	cmdutils.h
	ffmpeg.c
	ffplay.c
	libavformat/os_support.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-30 22:44:18 +02:00
Michael Niedermayer
ac2d3b0f6e nutdec: set duration_estimation_method
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-30 18:58:52 +02:00
Michael Niedermayer
3233ad4b44 nutdec: estimate duration from last syncpoint
Previously nut used the fallback of estimation by bitrate.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-30 17:22:37 +02:00
Michael Niedermayer
e2c95e6bd8 nutdec: remove assert that is wrong for some new duration code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-30 17:22:37 +02:00
Michael Niedermayer
9d230ba924 nutdec: check that filesize is valid before using it.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-30 17:22:37 +02:00
Ronald S. Bultje
5a608a239b os_support: Add fallback definitions for stat flags
Mingw headers provide similar defines already (unconditional #defines,
without any #undef or #ifdef around it), while MSVC doesn't have
them.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 15:18:50 +03:00
Martin Storsjö
cab2eb87f9 os_support: Rename the poll fallback function to ff_poll
The fallback function is a non-static function, we shouldn't be
defining non-static functions outside of the proper ff/av prefix
namespaces.

This is especially important for a function like poll, which
other parties (other libraries, or executables linking these
libraries) also might provide similar but incompatible fallbacks for.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 15:18:17 +03:00
Martin Storsjö
cdee08e365 network: Check for struct pollfd
We need to include winsock2.h here, to make sure we have the
real pollfd struct definition, if one exists, before defining the
fallback poll function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 15:18:06 +03:00
Martin Storsjö
71078ad333 os_support: Don't compare a negative number against socket descriptors
The fds are unsigned integers in the windows definition of struct
sockfds. Due to this, the comparison if (fds[i].fd > n) was always
false.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 15:17:52 +03:00
Ronald S. Bultje
5aff37d28d os_support: Include all the necessary headers for the win32 open function
io.h is required for open and _wopen, and fcntl.h is required for
the O_CREAT flag. On mingw, fcntl.h is included by os_support.h (and
the mingw fcntl.h includes io.h), but include it explicitly here
since this implementation requires it.

Also move the #undef open up. open must not be defined to ff_win32_open
while including the headers that declare the open function. On mingw,
this happened in os_support.h before open was redirected.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 15:16:43 +03:00
Clément Bœsch
439e32f9b8 RealText demuxer and decoder. 2012-06-29 20:22:04 +02:00
Clément Bœsch
53640f42be SAMI demuxer and decoder. 2012-06-29 20:21:28 +02:00
Clément Bœsch
d948893dbd lavf/subtitles: add some SMIL helpers.
This is needed for SAMI and RealText demuxers.
2012-06-29 20:20:02 +02:00
Clément Bœsch
a19e9f2d5c lavf/microdvd: rewrite using subtitles queue API. 2012-06-29 20:20:01 +02:00
Clément Bœsch
0ef28e119e lavf/jacosubdec: fix FPE in case timeres is badly set. 2012-06-29 20:19:59 +02:00
Clément Bœsch
60715511db lavf/jacosubdec: use subtitles queue API. 2012-06-29 19:13:25 +02:00
Clément Bœsch
7c9f9685ae lavf: add internal demuxer helpers for subtitles. 2012-06-29 19:13:24 +02:00
Stefano Sabatini
c1abfbc47c lavf/segment: rename segment private context from "c" to "seg" in segment_start()
Consistent with the rest of the file, less confusing.
2012-06-29 17:04:19 +02:00
Stefano Sabatini
a9a7e215e5 lavf/segment: add stream_segment variant of the segment muxer
This simplifies usage for segment streaming formats with no global
headers, tipically MPEG 2 transport stream "ts" files.

The seg class duplication is required in order to avoid an infinite loop
in libavformat/utils.c:format_child_next_class().
2012-06-29 17:03:25 +02:00
Stefano Sabatini
3cd4f9fd76 lavf: allow multiple names in output devices selected by av_guess_format()
Consistent with av_find_input_format().
2012-06-29 16:54:18 +02:00
Martin Sliwka
df531b0e10 avformat: disable seeking on FIFOs/named pipes
Patch is addition to my previous patch
(https://lists.ffmpeg.org/pipermail/ffmpeg-cvslog/2012-June/051590.html)
and disables seeking on FIFOs/named pipes by setting
URLContext::is_streamed (same as pipe: protocol does for stdin/stdout pipes)

Fixes Ticket986

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-29 14:54:15 +02:00
Ronald S. Bultje
3b1ab197be file: Only include unistd.h if it exists
It is included for the open/read/write/close functions. On
MSVC, where this header does not exist, the same functions
are provided by io.h, which is already included.

On windows, these functions are provided by io.h. Make sure
io.h is included if it exists, regardless of the setmode
function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-29 15:53:41 +03:00
Stefano Sabatini
0692d4c890 lavf/segment: add some debugging logs 2012-06-29 14:50:27 +02:00
Stefano Sabatini
d9355a03f2 lavf/applehttp: add log message in case of applehttp_read_header() failure
Improve error reporting.
2012-06-29 14:50:27 +02:00
Ronald S. Bultje
dfb57fc596 rtpdec: Don't explicitly include unistd.h any longer
unistd.h used to be required for gethostname. On windows, gethostname
is provided by winsock2.h. Now network.h includes both unistd.h and
winsock2.h if they exist.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-29 15:38:10 +03:00
Paul B Mahol
8fbe11e623 Replace Libav with FFmpeg in license headers for files created by me
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-29 01:58:34 +00:00
Michael Niedermayer
4453f6b861 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  flv: add support for G.711
  doc: git: Add checklist with test steps to perform before pushing
  flvenc: K&R formatting cosmetics
  movenc: Add channel layouts for PCM.

Conflicts:
	libavformat/flvenc.c
	tests/ref/fate/acodec-pcm-s16be
	tests/ref/fate/acodec-pcm-s24be
	tests/ref/fate/acodec-pcm-s32be
	tests/ref/fate/acodec-pcm-s8

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28 23:57:31 +02:00
Damien Fetis
b92c7ee662 flv: add support for G.711
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-06-28 16:53:09 +02:00
Luca Barbato
1cb34ea4fe flvenc: K&R formatting cosmetics 2012-06-28 13:05:43 +02:00
Michael Niedermayer
ccbcf482ad udp: use av_freep() instead of av_free()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28 10:12:04 +02:00
Michael Bradshaw
fc5999d027 lavf: add proper enum type for fmt ctx duration esitmation method
Signed-off-by: Michael Bradshaw <mbradshaw@sorensonmedia.com>
2012-06-28 09:59:53 +02:00
Michael Niedermayer
87df986dcf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mss1: validate number of changeable palette entries
  mss1: report palette changed when some additional colours were decoded
  x86: fft: replace call to memcpy by a loop
  udp: Support IGMPv3 source specific multicast and source blocking
  dxva2: include dxva.h if found
  libm: Provide fallback definitions for isnan() and isinf()
  tcp: Pass NULL as hostname to getaddrinfo if the string is empty
  tcp: Set AI_PASSIVE when the socket will be used for listening

Conflicts:
	configure
	libavcodec/mss1.c
	libavformat/udp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28 01:08:52 +02:00
Michael Niedermayer
7803a04041 http: try to detect live akamai streams and dont enable seeking for them
Fixes ticket1320

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-28 00:18:24 +02:00
Eric Petit
f1136b2b10 udp: fix occasional crash on shutdown
Wait until the thread is down before destroying the fifo

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-27 22:50:22 +02:00
Alex Converse
a112822597 movenc: Add channel layouts for PCM. 2012-06-27 13:47:58 -07:00
Martin Storsjö
75d339e044 udp: Support IGMPv3 source specific multicast and source blocking
Based on an original patch by Stephen D'Angelo <SDAngelo@evertz.com>.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-27 14:39:00 +03:00
Jordi Ortiz
ef882e464a tcp: Pass NULL as hostname to getaddrinfo if the string is empty
This gives you the proper v4 or v6 version of the "any address",
allowing receiving connections on any address on the machine.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-27 14:04:02 +03:00
Jordi Ortiz
58f3e09ee4 tcp: Set AI_PASSIVE when the socket will be used for listening
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-27 14:04:02 +03:00
Michael Niedermayer
b536e2facf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: add an assert to silence an uninitialized variable warning.
  avconv: shut up an uninitialized variable warning.
  avfiltergraph: shut up uninitialized variable warning.
  af_join: initialize a variable to shut up gcc warning.
  amix: fix format specifier for AVFilterLink.sample_rate.
  lavfi: make filters less verbose.
  mpc8: read APE tags.
  lavr: x86: fix ff_conv_fltp_to_flt_6ch function prototypes
  libm: provide fallback definition for cbrtf() using powf()
  network: Don't redefine error codes if they already exist in errno.h
  configure: Check for sys/time.h
  network: Include unistd.h from network.h
  avconv: don't include vsrc_buffer.h, which doesn't exist anymore
  lavfi: reorder AVFilterLink fields.
  lavfi: reorder AVFilterContext fields.
  lavfi: reorder AVFilter fields.
  lavfi: reorder AVFilterBufferRef fields.
  lavfi: reorder AVFilterBuffer fields.

Conflicts:
	configure
	libavcodec/v210dec.h
	libavfilter/asrc_anullsrc.c
	libavfilter/avfilter.h
	libavfilter/buffersrc.c
	libavfilter/src_movie.c
	libavfilter/vf_aspect.c
	libavfilter/vf_crop.c
	libavfilter/vf_drawbox.c
	libavfilter/vf_fade.c
	libavfilter/vf_overlay.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/vsrc_color.c
	libavformat/network.h
	libavutil/libm.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-27 01:58:09 +02:00
Anton Khirnov
ce0a975689 mpc8: read APE tags. 2012-06-26 19:05:24 +02:00
Ronald S. Bultje
4b1b1449d9 network: Don't redefine error codes if they already exist in errno.h
Since the errno.h values don't match the error codes that winsock
returns, map the winsock error codes to the errno ones, to make
sure explicit checks against AVERROR(x) match.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-26 17:22:21 +03:00
Ronald S. Bultje
e64bceeac0 configure: Check for sys/time.h
Apparently this include is needed on some systems for building the
poll fallback (for the timeval struct for select?), but it isn't
available on all systems. Thus only include it if it exists.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-26 17:22:21 +03:00
Martin Storsjö
39dba5aa1b network: Include unistd.h from network.h
This heaader is required for close() for sockets in network
code. For winsock, the equivalent function is defined in the
winsock2.h header.

This avoids having the HAVE_UNISTD_H in all files dealing with
raw sockets.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-26 17:22:21 +03:00
Carl Eugen Hoyos
fbcaceb1ff mov: do not try to read total disc/track number if data atom is too short.
Fixes bug 308.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-06-26 13:12:50 +02:00
Michael Niedermayer
a6ff8514a9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wtv: Check the return value from gmtime
  x86: fft: convert sse inline asm to yasm
  x86: place some inline asm under #if HAVE_INLINE_ASM

Conflicts:
	libavcodec/x86/fft_sse.c
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-25 16:55:31 +02:00
Martin Storsjö
dc53858063 wtv: Check the return value from gmtime
On MSVC, gmtime returns NULL for values outside of their supported
range (and these show up in our fate test). This doesn't seem
to affect the actual fate test result.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-25 16:20:08 +03:00
Michael Niedermayer
5fd3e6965e vocenc: use new header from codec tag 4
this matches sox and should fix ticket1119

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-25 03:45:29 +02:00
Michael Niedermayer
0abfb0a9d8 vocenc: change default codec to 16bit
Hardly anyone would want 8bit today, 16bit is a much more reasonable
default.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-25 03:35:09 +02:00
Michael Niedermayer
bacbbd2b03 vocenc: fix sample rate rounding direction
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-25 03:30:12 +02:00
Michael Niedermayer
244682dd08 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  log: Only include unistd.h if configure found it
  ape: create audio stream before reading tags.
  mov: make a length variable larger.
  image2: Add "start_number" private option to the demuxer
  image2: Add "start_number" private option to the muxer
  avconv: remove a forgotten debugging printf.
  avconv: use more descriptive names for hardcoded filters.
  avconv: remove redundant handling of async.
  doc/filters: fix typo.
  h264: use asm cabac reader under a generic condition

Conflicts:
	ffmpeg.c
	libavformat/img2dec.c
	libavformat/img2enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 21:34:54 +02:00
Mashiat Sarker Shakkhar
98b3f17bd7 image2: Add "start_number" private option to the demuxer
Currently if a pattern is given we search for up to the fifth file name in
that sequence. This option sets that limit to an arbitrary number.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-24 12:40:54 +02:00
Anton Khirnov
980e65f119 ape: create audio stream before reading tags.
Tags may contain attached picture, which will be exported as video
streams.

This ensures that the audio stream is always the first.
2012-06-24 07:55:33 +02:00
Anton Khirnov
a7b8ff94b1 mov: make a length variable larger.
Right now, it's uint16_t, but for itunes metadata a 32bit number is
stored in it.
2012-06-24 07:54:29 +02:00
Mashiat Sarker Shakkhar
f57d2f587b image2: Add "start_number" private option to the demuxer
Currently if a pattern is given we look for up to the fifth file name in
the sequence. This option sets that limit to an arbitrary number.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-06-24 07:37:38 +02:00
Mashiat Sarker Shakkhar
b5bce20cc3 image2: Add "start_number" private option to the muxer
This adds the capability to start counting file number from an arbitrary
integer.

This includes a few lines of trivial code from FFmpeg codebase.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-06-24 07:35:54 +02:00
Mashiat Sarker Shakkhar
f7595fb3b5 image2: Add "start_number" private option to the muxer
This adds the capability to start counting file number from an arbitrary
integer instead of always starting at 1.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-23 21:12:01 +02:00
Michael Niedermayer
e847f41285 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libspeexenc: add supported sample rates and channel layouts.
  Replace usleep() calls with av_usleep()
  lavu: add av_usleep() function
  utvideo: mark interlaced frames as such
  utvideo: Fix interlaced prediction for RGB utvideo.
  cosmetics: do not use full path for local headers
  lavu/file: include unistd.h only when available
  configure: check for unistd.h
  log: include unistd.h only when needed
  lavf: include libavutil/time.h instead of redeclaring av_gettime()

Conflicts:
	configure
	doc/APIchanges
	ffmpeg.c
	ffplay.c
	libavcodec/utvideo.c
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-22 22:34:02 +02:00
Mans Rullgard
896bb0d742 Replace usleep() calls with av_usleep()
This reduces the dependency on unistd.h which is not available
on all systems.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-22 17:15:36 +01:00
Hendrik Leppkes
5916313967 avformat: offset fps calculation by one to include 60.00 fps
To ensure the full range of values is still used, also adjust all uses of this function to loop from 0
instead of 1. This way only 60.00 is added and nothing lost.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-22 01:58:57 +02:00
Mans Rullgard
c19e0ebe53 lavf: include libavutil/time.h instead of redeclaring av_gettime()
This avoids some warnings about redundant declarations.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-21 22:53:05 +01:00
Michael Niedermayer
87dced8074 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fix hardcoded tables compililation caused by missing math constants
  lavf: Make codec_tag arrays constant
  twinvq: give massive struct a name.
  lavf, lavu: version bumps and APIchanges for av_gettime() move
  lavfi/audio: don't set cur_buf in ff_filter_samples().
  lavfi/fifo: add audio version of the fifo filter.
  fifo: fix parenthesis placement.
  lavfi: rename vf_fifo.c -> fifo.c
  lavc: remove stats_in from AVCodecContext options table.

Conflicts:
	doc/APIchanges
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/audio.c
	libavfilter/fifo.c
	libavformat/version.h
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-21 22:37:43 +02:00
Nicolas George
9e63c30daa lavf: add a real SRT muxer.
This muxer supports CODEC_ID_SRT with the timestamps in the packet data
and CODEC_ID_TEXT with the timestamps in the packet fields.

Makes -scodec copy work from Matroska.
2012-06-21 20:52:56 +02:00
Ronald S. Bultje
67ffcb9613 lavf: Make codec_tag arrays constant
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-21 16:11:29 +03:00
Paul B Mahol
3821632e1b smush: set audio packet duration
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-21 12:14:53 +00:00
Hendrik Leppkes
24e7a22e1f riff: don't overwrite bps from WAVEFORMATEX if EXTENSIBLE doesn't contain that data.
According to the specification on the MSDN [1], 0 is valid for that particular field, and it should be ignored in that case.

[1]: http://msdn.microsoft.com/en-us/library/windows/desktop/dd757714(v=vs.85).aspx

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-21 13:25:50 +02:00
Mans Rullgard
dc7e336cae lavf, lavu: version bumps and APIchanges for av_gettime() move
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-21 11:45:28 +01:00
Hendrik Leppkes
6d887ecac2 avformat: add 48 fps to the NTSC framerates
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-21 12:04:47 +02:00
Paul B Mahol
bef8fd7099 LucasArts SMUSH demuxer
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-21 02:27:53 +00:00
Michael Niedermayer
4da42ebe44 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  MS Screen 1 decoder
  aacdec: Fix popping channel layouts.
  av_gettime: support Win32 without gettimeofday()
  Use av_gettime() in various places
  Move av_gettime() to libavutil
  dct-test: use emms_c() from libavutil instead of duplicating it
  mov: fix operator precedence bug
  mathematics.h: remove a couple of math defines
  Remove unnecessary inclusions of [sys/]time.h
  lavf: remove unnecessary inclusions of unistd.h
  bfin: libswscale: add const where appropriate to fix warnings
  bfin: libswscale: remove unnecessary #includes
  udp: Properly check for invalid sockets
  tcp: Check the return value from getsockopt
  network: Use av_strerror for getting error messages
  udp: Properly print error from getnameinfo
  mmst: Use AVUNERROR() to convert error codes to the right range for strerror
  network: Pass pointers of the right type to get/setsockopt/ioctlsocket on windows
  rtmp: Reduce the number of idle posts sent by sleeping 50ms

Conflicts:
	Changelog
	configure
	libavcodec/aacdec.c
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/dct-test.c
	libavcodec/version.h
	libavformat/riff.c
	libavformat/udp.c
	libavutil/Makefile
	libswscale/bfin/yuv2rgb_bfin.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-20 20:47:46 +02:00
Kostya Shishkov
005c80b645 MS Screen 1 decoder 2012-06-20 19:08:10 +02:00
Mans Rullgard
ae0a301668 Move av_gettime() to libavutil
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-20 17:09:03 +01:00
Ronald S. Bultje
f1f37c7011 mov: fix operator precedence bug 2012-06-20 15:37:01 +01:00
Mans Rullgard
6501dcfb5e Remove unnecessary inclusions of [sys/]time.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-20 11:46:46 +01:00
Mans Rullgard
4e5a514813 lavf: remove unnecessary inclusions of unistd.h
These files do not use anything provided by unistd.h.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-20 11:46:30 +01:00
Paul B Mahol
86206035d1 avio: av_protocol_next() is gone
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-20 01:56:03 +00:00
Michael Niedermayer
cabbd271a5 Merge remote-tracking branch 'qatar/master'
* qatar/master: (24 commits)
  flvdec: remove incomplete, disabled seeking code
  mem: add support for _aligned_malloc() as found on Windows
  lavc: Extend the documentation for avcodec_init_packet
  flvdec: remove incomplete, disabled seeking code
  http: replace atoll() with strtoll()
  mpegts: remove unused/incomplete/broken seeking code
  af_amix: allow float planar sample format as input
  af_amix: use AVFloatDSPContext.vector_fmac_scalar()
  float_dsp: add x86-optimized functions for vector_fmac_scalar()
  float_dsp: Move vector_fmac_scalar() from libavcodec to libavutil
  lavr: Add x86-optimized function for flt to s32 conversion
  lavr: Add x86-optimized function for flt to s16 conversion
  lavr: Add x86-optimized functions for s32 to flt conversion
  lavr: Add x86-optimized functions for s32 to s16 conversion
  lavr: Add x86-optimized functions for s16 to flt conversion
  lavr: Add x86-optimized function for s16 to s32 conversion
  rtpenc: Support packetizing iLBC
  rtpdec: Add a depacketizer for iLBC
  Implement the iLBC storage file format
  mov: Support muxing/demuxing iLBC
  ...

Conflicts:
	Changelog
	configure
	libavcodec/avcodec.h
	libavcodec/dsputil.c
	libavcodec/version.h
	libavformat/movenc.c
	libavformat/mpegts.c
	libavformat/version.h
	libavutil/mem.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 20:53:27 +02:00
Martin Storsjö
042b272a4a udp: Properly check for invalid sockets
If stdin has been closed, 0 is a valid socket descriptor.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-19 20:25:09 +03:00
Martin Storsjö
bb6c1abb0e tcp: Check the return value from getsockopt
Make sure we actually have an error code in ret, in case
getsockopt failed.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-19 20:25:07 +03:00
Martin Storsjö
a840cdda6c network: Use av_strerror for getting error messages
Also use ff_neterrno() instead of errno directly (which doesn't work
on windows), for getting the error code.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-19 20:24:55 +03:00
Martin Storsjö
860b40f1f2 udp: Properly print error from getnameinfo
getnameinfo doesn't set errno on failure, it returns an error code,
which should be handled by gai_strerror instead of the normal
strerror.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-19 20:24:33 +03:00
Martin Storsjö
6aa4e88106 mmst: Use AVUNERROR() to convert error codes to the right range for strerror
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-19 20:23:19 +03:00
Martin Storsjö
561687696f network: Pass pointers of the right type to get/setsockopt/ioctlsocket on windows
This avoids warnings.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-19 20:22:47 +03:00
Samuel Pitoiset
9d811fd80f rtmp: Reduce the number of idle posts sent by sleeping 50ms
Rtmpt is effectively half duplex - the server can't return any
data unless we send a request (to which the server responds). If
we don't have any data to send currently, and the server didn't
return any data either, wait a little before doing the next request.

This avoids busy looping with idle posts with empty replies, while
waiting for more data from the server.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-19 20:21:21 +03:00
Paul B Mahol
6b9446e932 avidec: add .category
While here make .class_name consistent with other AVClass.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-19 16:26:01 +00:00
Michael Niedermayer
08613d50d6 lavf: separate muxer/demuxer class category
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-19 17:22:07 +02:00
Paul B Mahol
7238ed6c84 avidec: use designated initializers for AVClass
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-19 13:59:17 +00:00
Paul B Mahol
ef8bea9107 mov: use designated initializers for AVClass
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-06-19 13:57:06 +00:00
Ronald S. Bultje
8703f0140f flvdec: remove incomplete, disabled seeking code 2012-06-19 01:02:10 +01:00
Ronald S. Bultje
51a2b5546b http: replace atoll() with strtoll() 2012-06-19 01:00:13 +01:00
Ronald S. Bultje
ae2bb52cd2 mpegts: remove unused/incomplete/broken seeking code 2012-06-19 00:56:43 +01:00
Martin Storsjö
579fd87b46 rtpenc: Support packetizing iLBC
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 22:01:04 +03:00
Martin Storsjö
89c3960544 rtpdec: Add a depacketizer for iLBC
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 22:01:04 +03:00
Martin Storsjö
a2b251a05e Implement the iLBC storage file format
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 22:01:02 +03:00
Martin Storsjö
9e74db6850 mov: Support muxing/demuxing iLBC
The packet size, signalled via block_align, has to be passed via
the container.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 22:00:35 +03:00
Samuel Pitoiset
46743a859c rtmp: Don't send every flv packet in a separate HTTP request in RTMPT
Add a new option 'rtmp_flush_interval' that allows specifying the
number of packets to write before sending it off as a HTTP request.

This is mostly relevant for RTMPT - for plain RTMP, it only controls
how often we check the socket for incoming packets, which shouldn't
affect the performance in any noticeable way.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 22:00:31 +03:00
Martin Storsjö
bbc8038614 rtsp: Send mode=record instead of mode=receive
This seems to be the correct mode to send, according to the
original RTSP RFC, and matches the method RECORD which is
sent later when starting to send data.

Darwin Streaming Server works fine with either of them.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 21:35:28 +03:00
Michael Niedermayer
82edf6727f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavr: add x86-optimized functions for mixing 1-to-2 s16p with flt coeffs
  lavr: add x86-optimized functions for mixing 1-to-2 fltp with flt coeffs
  Add Dolby/DPLII downmix support to libavresample
  vorbisdec: replace div/mod in loop with a counter
  fate: vorbis: add 5.1 surround test
  rtpenc: Allow requesting H264 RTP packetization mode 0
  configure: Sort the library listings in the help text alphabetically
  dwt: remove variable-length arrays
  RTMPT protocol support
  http: Properly handle chunked transfer-encoding for replies to post data
  http: Fail reading if the connection has gone away
  amr: Mark an array const
  amr: More space cleanup
  rtpenc: Fix memory leaks in the muxer open function

Conflicts:
	Changelog
	configure
	doc/APIchanges
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-18 20:07:00 +02:00
Martin Storsjö
d77f4afa98 rtpenc: Allow requesting H264 RTP packetization mode 0
This requires all NAL units to fit within single RTP packets. It
doesn't change the actual packetization for packets that fit, but
errors out and gives a helpful hint if the NAL units would have to
be split, and signals the right packetization mode in the SDP.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 12:27:56 +03:00
Michael Bradshaw
2243f0d078 lavf: add field for how duration is estimated
Signed-off-by: Michael Bradshaw <mbradshaw@sorensonmedia.com>
2012-06-18 09:36:34 +02:00
Michael Niedermayer
6ca48ad044 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  amr: Cosmetic cleanup
  mov_chan: Fix operator precedence by adding parentheses
  doc: Add missing protocols to list of supported protocols.
  tcp: Check the listen call

Conflicts:
	libavformat/amr.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-17 22:28:28 +02:00
Samuel Pitoiset
8e50c57dcb RTMPT protocol support
This adds two protocols, but one of them is an internal implementation
detail just used as an abstraction layer/generalization in the code. The
RTMPT protocol implementation uses rtmphttp:// as an alternative to the
tcp:// protocol. This allows moving most of the lower level logic out
from the higher level generic rtmp code.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-17 22:56:56 +03:00
Martin Storsjö
35127bf156 http: Properly handle chunked transfer-encoding for replies to post data
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-17 22:56:56 +03:00
Martin Storsjö
eb564b23a3 http: Fail reading if the connection has gone away
This can happen if doing a new request using the same socket,
but the new request failed, which clears the urlcontext.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-17 22:56:51 +03:00
Martin Storsjö
eb3918c1fd amr: Mark an array const
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-17 22:50:06 +03:00
Martin Storsjö
634e874de5 amr: More space cleanup
This was missed in the previous cleanup patch.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-17 22:50:04 +03:00
Martin Storsjö
e9ef88fbd2 rtpenc: Fix memory leaks in the muxer open function
Also return a proper error code in these cases.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-17 22:49:25 +03:00
Martin Storsjö
5f26d4d448 amr: Cosmetic cleanup
Add spaces around operators, fix brace placement and whitespace to
match K&R style, vertically align code, remove redundant != 0 and
convert x == 0 into !x, drop useless braces.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-17 19:04:46 +03:00
Martin Storsjö
44fdf37c94 mov_chan: Fix operator precedence by adding parentheses
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-17 17:51:50 +03:00
Michael Niedermayer
eaf655384b avienc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-17 17:10:05 +02:00
Jordi Ortiz
a7cc78cb11 tcp: Check the listen call
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-17 13:22:36 +03:00
Ronald S. Bultje
17fad33f81 Change all uses of restrict to use av_restrict instead.
Defining restrict results - for some compilers - in changing other
uses of the restrict keyword also, e.g. __declspec(restrict) gets
changed to __declspec(__restrict) on MSVC. This causes compilation
failures. Therefore, using a private namespace macro instead is
more reliable and robust.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-17 00:38:39 +02:00
Michael Niedermayer
5c14b282d1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  flacdec: read attached pictures.
  lavf: don't segfault when a NULL filename is passed to avformat_open_input()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-16 23:22:42 +02:00
Michael Niedermayer
0354412aa3 ffmenc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-16 17:59:01 +02:00
Anton Khirnov
ae702edf43 flacdec: read attached pictures. 2012-06-16 17:10:23 +02:00
Anton Khirnov
a5db8e4a1a lavf: don't segfault when a NULL filename is passed to avformat_open_input()
This can easily happen when the caller is using a custom AVIOContext.

Behave as if the filename was an empty string in this case.

CC: libav-stable@libav.org
2012-06-16 17:09:33 +02:00
Michael Niedermayer
90d8506fbf Merge remote-tracking branch 'qatar/master'
* qatar/master:
  af_resample: fix format modifier in debug string for FF_API_SAMPLERATE64
  segment: remove unnecessary <strings.h> include
  fate: add snow hpel tests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 20:56:06 +02:00
Janne Grunau
1cdcf043ca segment: remove unnecessary <strings.h> include 2012-06-15 19:10:58 +02:00
Michael Niedermayer
dd2086140c nutenc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 19:44:42 +02:00
Michael Niedermayer
17bbb818ae amr: use av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 19:44:42 +02:00
Michael Niedermayer
47f8303069 lavf/aviobuf: use av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 19:44:42 +02:00
Michael Bradshaw
67703d64d7 lavf: cosmetic: format else with indentation
Signed-off-by: Michael Bradshaw <mbradshaw@sorensonmedia.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 19:44:42 +02:00
Clément Bœsch
608bda925a lavf/{srt,microdvd}: correctly raise error on avformat_new_stream() error. 2012-06-15 18:40:14 +02:00
Martin Sliwka
9b6f2c7483 file: Fix handling of windows named pipes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 15:05:33 +02:00
Michael Niedermayer
11153a9371 avio: Collect and print statistics of bytes read & seeks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 11:24:16 +02:00
Michael Niedermayer
59c122b3b0 matroskadec: add assert on lack of overflow in pkt_size+offset
currently a overflow there should be impossible but future changes to
the code could easily introduce a bug that no longer limits the 2
values sufficiently so better protect it via av_assert.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 01:35:52 +02:00
Michael Niedermayer
4b7c52346a matroskadec: change size check in matroska_decode_buffer() to unsigned
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 01:29:30 +02:00
Michael Niedermayer
08169fc3d2 matroskadec: move lace_size check up so it catches all code pathes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 01:28:40 +02:00
Michael Niedermayer
88a740afde matroskadec: change assert to av_assert0()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 01:27:56 +02:00
Dale Curtis
71529bd8c5 Fix incorrect unsigned->signed conversion.
Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 01:17:13 +02:00
Michael Niedermayer
15f8941108 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Avoid C99 variable declarations within for statements.
  rtmp: Read and handle incoming packets while writing data
  doc: document THREAD_TYPE fate variable
  rtpdec: Don't require frames to start with a Mode A packet
  avconv: don't try to free threads that were not initialized.

Conflicts:
	doc/fate.texi
	ffplay.c
	libavdevice/dv1394.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-15 00:14:21 +02:00
Michael Niedermayer
01a14ce042 riff: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-14 23:52:56 +02:00
Michael Niedermayer
9d87c8e6f8 rawdec: use av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-14 23:52:40 +02:00
Michael Niedermayer
948e97a2cc pcmdec: use av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-14 23:52:23 +02:00
Samuel Pitoiset
7dc747f50b rtmp: Read and handle incoming packets while writing data
This makes sure all incoming packets are read and handled (and reacted
to) while sending an FLV stream over RTMP to a server. If there were
enough incoming data to fill the TCP buffers, this could potentially
make things block at unexpected places. For the upcoming RTMPT support,
we need to consume all incoming data before we can send the next
request.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-14 22:22:58 +03:00
Martin Storsjö
d1beee0701 rtpdec: Don't require frames to start with a Mode A packet
While there is no reason for starting a frame with anything else
than a Mode A packet, some senders seem to consistently use Mode B
packets for everything. This fixes depacketization of such streams.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-14 22:11:43 +03:00
Martin T. H. Sandsmark
a5c1a0c070 asfdec: fix returned error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-14 02:45:11 +02:00
Michael Niedermayer
c7b9eab2be Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: Add a new option 'rtmp_buffer', for setting the client buffer time
  rtmp: Set the client buffer time to 3s instead of 0.26s
  rtmp: Handle server bandwidth packets
  rtmp: Display a verbose message when an unknown packet type is received
  lavfi/audio: use av_samples_copy() instead of custom code.
  configure: add all filters hardcoded into avconv to avconv_deps
  avfiltergraph: remove a redundant call to avfilter_get_by_name().
  lavfi: allow building without swscale.
  build: Do not delete tests/vsynth2 directory, which is no longer created.
  lavfi: replace AVFilterContext.input/output_count with nb_inputs/outputs
  lavfi: make AVFilterPad opaque after two major bumps.
  lavfi: add avfilter_pad_get_type() and avfilter_pad_get_name().
  lavfi: make avfilter_get_video_buffer() private on next bump.
  jack: update to new latency range API as the old one has been deprecated
  rtmp: Tokenize the AMF connection parameters manually instead of using strtok_r
  ppc: Rename H.264 optimization template file for consistency.
  lavfi: add channelsplit audio filter.
  golomb: check remaining bits during unary decoding in get_ur_golomb_jpegls()
  sws: fix planar RGB input conversions for 9/10/16 bpp.

Conflicts:
	Changelog
	configure
	doc/APIchanges
	ffmpeg.c
	libavcodec/golomb.h
	libavcodec/v210dec.h
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/asrc_anullsrc.c
	libavfilter/audio.c
	libavfilter/avfilter.c
	libavfilter/avfilter.h
	libavfilter/avfiltergraph.c
	libavfilter/buffersrc.c
	libavfilter/formats.c
	libavfilter/version.h
	libavfilter/vf_frei0r.c
	libavfilter/vf_pad.c
	libavfilter/vf_scale.c
	libavfilter/video.h
	libavfilter/vsrc_color.c
	libavformat/rtmpproto.c
	libswscale/input.c
	tests/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-13 22:43:57 +02:00
Michael Niedermayer
4a6d790a6f nutenc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-13 18:54:17 +02:00
Michael Niedermayer
53eaca5d6b mpegtsenc: use av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-13 18:51:38 +02:00
Samuel Pitoiset
8517e9c476 rtmp: Add a new option 'rtmp_buffer', for setting the client buffer time
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-13 17:04:39 +03:00
Samuel Pitoiset
9477c035a7 rtmp: Set the client buffer time to 3s instead of 0.26s
This factorizes existing code into a new function gen_buffer_time(),
which generates the client buffer time message and sends it to the
server.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-13 16:53:32 +03:00
Samuel Pitoiset
c2d38beab2 rtmp: Handle server bandwidth packets
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-13 16:52:52 +03:00
Samuel Pitoiset
9ff930aace rtmp: Display a verbose message when an unknown packet type is received
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-13 16:52:31 +03:00
Martin Storsjö
0533868642 rtmp: Tokenize the AMF connection parameters manually instead of using strtok_r
This fixes builds on platforms without strtok_r (windows).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-13 11:36:47 +03:00
Samuel Pitoiset
0a9a225733 rtmp: Fix a possible access to invalid memory location when the playpath is too short.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-12 14:33:57 +03:00
Michael Niedermayer
dc1c79be1b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avfilter: Log an error if avfilter fails to configure a link.
  avconv: support only native pthreads.
  rtmp: Fix a possible access to invalid memory location when the playpath is too short.

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 20:44:57 +02:00
Michael Niedermayer
2a622c2369 lavf: add a "warning" when discarding a oddly backward subtitle or data starttime
Idea-by: ohsix
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 19:28:08 +02:00
Michael Niedermayer
47695b1d65 lavf: handle data like subtitles in start time calculation.
This fixes an issue with a crazy data track starting with a large
negative timestamp.

It could as well be solved in all user apps, but this is looking
attractively simpler ...

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-12 19:19:00 +02:00
Michael Niedermayer
f91b635b52 rtmpproto: replace strtok_r by av_strtok its unavailable in mingw
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-11 23:04:24 +02:00
Michael Niedermayer
94d5650266 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtmp: Do not send extension for flv files
  rtmp: support connection parameters
  doc: Add documentation for the newly added rtmp_* options

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-11 21:55:32 +02:00
Michael Niedermayer
d9a9518fba flvenc: use av_assert instead of assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-06-11 20:14:22 +02:00
Samuel Pitoiset
f862537de8 rtmp: Do not send extension for flv files
This fixes bugzilla bug #304.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-11 13:48:39 +03:00
Samuel Pitoiset
8ee3e1874e rtmp: support connection parameters
Allow using connection parameters in order to append arbitrary
AMF data like "B:1 S:authMe O:1 NN:code:1.23 NS:flag:ok O:0" to the
Connect message. You can pass these parameters through the -rtmp_conn
option.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-11 13:46:50 +03:00
Clément Bœsch
20e46aafbd mov: export orphan tmcd track metadata to global format metadata. 2012-06-11 07:40:58 +02:00
Clément Bœsch
1ec23d9c02 mov: copy timecode metadata from tmcd track to the related video stream.
Apple softwares seem not to add a tref for the timecode (the next commit
fixes this issue), but at least FFmpeg does.

This can be used to generate a sample that demonstrates the feature:

    ./ffmpeg -f lavfi -i testsrc    \
             -f lavfi -i mptestsrc  \
             -f lavfi -i rgbtestsrc \
             -map 0 -map 1 -map 2   \
             -metadata:s:0 timecode=00:00:00:12 \
             -metadata:s:2 timecode=01:02:12:20 \
             -t 10 -y out.mov
    ./ffprobe out.mov

The timecode metadata being transmitted to the video streams, it can be
kept while transmuxed/transcoded.
2012-06-11 07:40:26 +02:00
Clément Bœsch
0d96ec19eb mov: parse tref atom. 2012-06-11 07:35:14 +02:00
Clément Bœsch
9fb2e234d0 movenc: add timecode track support. 2012-06-11 07:35:14 +02:00