Commit Graph

1667 Commits

Author SHA1 Message Date
Michael Niedermayer
d8289ff9a9 ffmpeg: increase bit_buffer_size, the header size is clearly too small for rgb48 raw based formats
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-25 16:43:30 +02:00
Anton Khirnov
9aa1f87dfd Revert "ffmpeg: get rid of useless AVInputStream.nb_streams."
This reverts commit 2cf8355f98.
AVInputStream.nb_streams tracks number of streams found at the
beginning, new streams may appear that ffmpeg doesn't know about. Fixes
crash in this case.
2011-09-21 14:12:00 +02:00
Michael Niedermayer
b5875b9111 Add libswresample.
Similar to libswscale this does resampling and format convertion, just for audio
instead of video.
changing sampling rate, sample formats, channel layouts and sample packing all
in one with a very simple public interface.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-19 07:04:17 +02:00
Michael Niedermayer
8f5bb35f40 ffmpeg: fix video synchronization code to be exact on constant fps videos. Fixes Ticket137
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-13 17:29:23 +02:00
Clément Bœsch
677a831ec6 ffmpeg: remove unused data_codec_name. 2011-09-12 12:09:09 +02:00
Clément Bœsch
525d4852b9 ffmpeg: set {audio,video,subtitle}_codec_name const.
This fixes "assignment discards ‘const’ qualifier from pointer target
type." warnings.
2011-09-12 12:09:08 +02:00
Clément Bœsch
4b961ddfea ffmpeg: a bit more consistent prototypes. 2011-09-12 11:52:55 +02:00
Michael Niedermayer
411cc5c46a Merge remote-tracking branch 'qatar/master'
* qatar/master: (31 commits)
  audioconvert: add explanatory comments to channel_names array
  audioconvert: K&R whitespace cosmetics
  avconv: use correct index when selecting metadata to write to.
  avconv: fix inverted variable
  doc/avconv: document option types (input/output/per-stream/...)
  doc/avtools-common-opts: write a section about stream specifiers.
  doc/avconv: remove two pointless paragraphs.
  doc/avconv: document that global options should be specified first.
  doc/avconv: remove entries for nonexistent options
  doc/avconv: remove documentation for removed 'timestamp' option
  doc: cosmetics, rename fftools-common-opts to avtools-....
  avconv: move streamid_map to options context.
  avconv: extend -vf syntax
  avconv: move top_field_first to options context.
  avconv: move inter/intra matrix to options context.
  avconv: remove -psnr option.
  avconv: remove me_threshold option.
  avconv: move video_rc_override_string to options context.
  avconv: move frame pixel format to the options context.
  avconv: move frame aspect ratio to the options context.
  ...

Conflicts:
	avconv.c
	cmdutils_common_opts.h
	doc/avconv.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-12 00:32:54 +02:00
Michael Niedermayer
0c0ec4be6b ffmpeg: dont copy duration when -t is used
Fixes Ticket445

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-11 05:24:26 +02:00
Michael Niedermayer
7ba8e6bbae ffmpeg: replace messy duplicated tag compatibility functions by more generic solution.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-11 01:23:05 +02:00
Michael Niedermayer
cec92fe49a ffmpeg: add vbsf & absf for compatibility.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-11 01:22:58 +02:00
Michael Niedermayer
7db7eb08e0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Fixed segfault with wavpack decoder on corrupted decorrelation terms sub-blocks.
  avconv: move audio_channels to the options context.
  avconv: move *_disable to options context.
  avconv: remove -[vas]lang options.
  avconv: move codec tags to options context.
  cljr: init_get_bits size in bits instead of bytes
  indeo2: fail if input buffer too small
  indeo2: init_get_bits size in bits instead of bytes
  ffv1: Fixed size given to init_get_bits() in decoder.

Conflicts:
	avconv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-10 20:52:48 +02:00
Michael Niedermayer
1bb766a988 ffmpeg: fix -re
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-09 19:54:04 +02:00
Stefano Sabatini
4f7dfe12ea lavfi: rename vsink_buffer.c to sink_buffer.c, and vsink_buffer.h to buffersink.h
This is done in order to clarify the non-video-specific nature of the
buffersink code, as the result of the video/audio API unification of
the previous commit, and for improving overall consistency.
2011-09-06 18:51:09 +02:00
Stefano Sabatini
c4415f6ec9 lavfi: unify asink_buffer and vsink_buffer API
The new API is more generic (no distinction between audio/video for
pulling frames), and avoids code duplication.

A backward compatibility layer is kept for avoiding tools ABI breaks
(only for the video binary interface, audio interface was never used
in the tools).
2011-09-06 18:47:04 +02:00
Michael Niedermayer
d543b3bb52 ffmpeg: map subtitle stream by default when user specified -scodec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-06 00:49:23 +02:00
Michael Niedermayer
3c54e7ed4f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ac3enc: Add channel coupling support for the fixed-point AC-3 encoder.
  ac3enc: scale floating-point coupling channel coefficients in scale_coefficients() rather than in apply_channel_coupling()
  ac3enc: fix encoding of stereo ac3 files when rematrixing is disabled.
  wavpack: fix wrong return value in wavpack_decode_block()
  avconv: fix parsing metadata specifiers.
  fate: use +frame+slice named constants instead of '3'
  mpeg12: propagate more real return values through chunk decode error return and fix some indentation
  wavpack: use context reset in appropriate places
  avconv: move mux_preload and mux_max_delay to options context
  avconv: move bitstream filters to options context.
  avconv: move rate_emu to options context.
  avconv: move max_frames to options context.
  avconv: move metadata to options context.
  avconv: move ts scale to options context.
  avconv: move chapter maps to options context.
  avconv: move metadata maps to options context.
  avconv: move codec_names to options context.

Conflicts:
	avconv.c
	tests/fate-run.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-05 22:29:16 +02:00
Michael Niedermayer
6f8b1fcd4b ffmpeg: tell reset_options() if it is used on input or output files.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-05 03:11:18 +02:00
Michael Niedermayer
d2084402e6 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: fix type for thread_type option
  avconv: move format to options context
  avconv: move limit_filesize to options context
  avconv: move start_time, recording_time and input_ts_offset to options context
  avconv: add a context for options.
  cmdutils: allow storing per-stream/chapter/.... options in a generic way
  cmdutils: split per-option code out of parse_options().
  cmdutils: add support for caller-provided option context.
  cmdutils: declare only one pointer type in OptionDef
  cmdutils: move grow_array() from avconv to cmdutils.
  cmdutils: move exit_program() declaration to cmdutils from avconv
  http: Consider the stream as seekable if the reply contains Accept-Ranges: bytes
  nutenc: add namespace to the api facing functions

Conflicts:
	avconv.c
	cmdutils.c
	cmdutils.h
	ffmpeg.c
	ffplay.c
	ffprobe.c
	ffserver.c
	libavformat/http.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-05 03:10:45 +02:00
Anton Khirnov
7cc8d6385a cmdutils: add support for caller-provided option context.
This is the first step to removing the globals plague from avtools.
2011-09-04 13:12:00 +02:00
Anton Khirnov
cac651c834 cmdutils: move grow_array() from avconv to cmdutils. 2011-09-04 13:12:00 +02:00
Anton Khirnov
dad09ff93f cmdutils: move exit_program() declaration to cmdutils from avconv
Allows cmdutils to call each tool's own cleanup function.
2011-09-04 13:12:00 +02:00
Michael Niedermayer
1889c6724a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  AVOptions: fix av_set_string3() doxy to match reality.
  cmdutils: get rid of dummy contexts for examining AVOptions.
  lavf,lavc,sws: add {avcodec,avformat,sws}_get_class() functions.
  AVOptions: add AV_OPT_SEARCH_FAKE_OBJ flag for av_opt_find().
  cpu detection: avoid a signed overflow

Conflicts:
	avconv.c
	cmdutils.c
	doc/APIchanges
	ffmpeg.c
	libavcodec/options.c
	libavcodec/version.h
	libavformat/version.h
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-04 04:11:53 +02:00
Michael Niedermayer
ca4d71b149 ffmpeg: fix reading from stdin on windows
Based on code by Rolf Siegrist
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-04 02:14:39 +02:00
Anton Khirnov
20c21f8b75 cmdutils: get rid of dummy contexts for examining AVOptions.
Replace it with newly introduced libavutil API.
2011-09-03 20:58:15 +02:00
Michael Niedermayer
6233a3a153 Revert "ffmpeg: remove presets." and reimplement the needed parts that no longer exist.
Needed by libvpx

This reverts commit a0147957e7.
2011-09-03 00:50:00 +02:00
Chiranjeevi Melam
e6ea4c715d ffmpeg: Fix minor memleak of input_tmp 2011-09-02 01:09:39 +02:00
Clément Bœsch
df8737eb35 ffmpeg: fix two unused variables warnings. 2011-09-01 20:23:40 +02:00
Carl Eugen Hoyos
c0e8bce349 Fix compilation with --disable-avfilter.
Fixes ticket #425.
2011-09-01 19:03:39 +02:00
Michael Niedermayer
3584b01e4e ffmpeg: Fix typos introduced in:
commit 630902a1e1
	Author: Anton Khirnov <anton@khirnov.net>
	Date:   Wed Jul 6 08:49:07 2011 +0200
	avconv: factor out initializing input streams.

These caused scrambled error messages to be printed and
floating point exceptions.
For example when there was no decoder available for a
stream

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-01 04:17:23 +02:00
Michael Niedermayer
76ba894eab Merge commit 'f593628e5868e52a46de666767896c6afcebdae4'
* commit 'f593628e5868e52a46de666767896c6afcebdae4':
  avconv: Replace raw picture frame swapping hack.
  RV40: reuse some H.264 motion compensation functions in RV40.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-31 00:12:05 +02:00
Michael Niedermayer
7c3f4fb42d ffmpeg: ffmpeg: fix reading commands from the keyboard
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-30 21:56:40 +02:00
Michael Niedermayer
e312543c82 ffmpeg: fix reading commands from stdin
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-30 20:27:11 +02:00
Anton Khirnov
4bb2a74ffc ffmpeg: re-add nb_streams to InputFile.
It was mistakenly removed in 2cf8355f98,
not taking into account that new streams might appear in av_read_frame()
that avconv doesn't know about.

Fixes bug 24.
2011-08-30 18:10:10 +02:00
Alex Converse
ff037c54b4 ffmpeg: Replace goto redo on decode fail with continue.
This checks for sigterm but otherwise is identical to the previous
behavior.
2011-08-30 18:10:10 +02:00
Alex Converse
cf89e55ac0 ffmpeg: Remove dead store. 2011-08-30 18:10:10 +02:00
Alex Converse
08fe874fa4 ffmpeg: use av_clip_int16 for audio clipping 2011-08-30 18:10:09 +02:00
Michael Niedermayer
ef24426599 ffmpeg: switch stream mapping print code to qatars variant
Author of the lines of code is probably Nicolas and or Anton
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-30 18:08:35 +02:00
Anton Khirnov
10c3b03380 ffmpeg: move the avcodec_find_decoder() call to add_input_streams().
This makes the code simpler to understand, though it results in an
unnecessary call to avcodec_find_decoder() if the stream won't be
decoded.
2011-08-30 18:08:23 +02:00
Alex Converse
93ed69ad21 ffmpeg: Separate initialization from the main transcode loop. 2011-08-30 18:08:23 +02:00
Anton Khirnov
e5362cecfb ffmpeg: reset input_ts_offset between files.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-30 18:08:23 +02:00
Anton Khirnov
3806494549 ffmpeg: call flush_encoders() from transcode() directly.
And remove now pointless parameter.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-30 18:08:23 +02:00
Anton Khirnov
d73e8cab02 ffmpeg: fix broken indentation.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-30 18:08:23 +02:00
Anton Khirnov
877ba7b4bd ffmpeg: rescue poor abused limit_filesize global.
Keep a per-OutputFile instance of it, thus making -fs work with multiple
output files.

Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-08-30 18:08:23 +02:00
Alex Converse
cb13438543 ffmpeg: Set error code before before jumping to fail. 2011-08-30 18:08:23 +02:00
Alex Converse
6e6ccf0d56 ffmpeg: Fix spelling errors.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-30 18:08:23 +02:00
Anton Khirnov
47a3439ee7 ffmpeg: save two levels of indentation in flush_encoders()
By replacing
if (foo)
    <do stuff>

with
if (!foo)
    continue;
<do stuff>
2011-08-30 18:08:22 +02:00
Anton Khirnov
a16f1afb11 ffmpeg: factor flushing encoders out of output_packet(). 2011-08-30 18:08:22 +02:00
Anton Khirnov
94adca68f8 ffmpeg: factor out initializing input streams. 2011-08-30 18:08:22 +02:00
Anton Khirnov
8b85b9fa42 ffmpeg: reset streamid_map between output files. 2011-08-30 18:08:22 +02:00
Anton Khirnov
6bdd9fbc89 ffmpeg: make timer_start a local var in transcode(). 2011-08-30 18:08:22 +02:00
Anton Khirnov
3a7b4ccd1c ffmpeg: cosmetics, move OutputStream.
Allows us to get rid of forward InputStream declaration.
2011-08-30 18:08:22 +02:00
Anton Khirnov
8f9c77e765 ffmpeg: remove two unused macros. 2011-08-30 18:08:22 +02:00
Anton Khirnov
e0aee84084 ffmpeg: reindent. 2011-08-30 18:08:22 +02:00
Anton Khirnov
d4d5a95055 ffmpeg: rescue poor abused start_time global.
Keep a per-OutputFile instance of it, thus making -ss work with multiple
output files.
2011-08-30 18:08:22 +02:00
Anton Khirnov
08890d355e ffmpeg: : rescue poor abused recording_time global.
Keep a per-OutputFile instance of it, thus making -t work with multiple
output files.
2011-08-30 18:08:22 +02:00
Anton Khirnov
5c2a4d3bb1 ffmpeg: fix broken indentation. 2011-08-30 18:08:22 +02:00
Anton Khirnov
dd0724288e ffmpeg: get rid of the arbitrary MAX_FILES limit. 2011-08-30 18:08:22 +02:00
Anton Khirnov
76e4873319 ffmpeg: get rid of the output_streams_for_file vs. ost_table schizophrenia
Instead store output streams in the same way as input streams.
2011-08-30 18:08:22 +02:00
Michael Niedermayer
b091de2285 Revert "Fix stream mapping regression"
Subsequent cherry picks are based on code prior to this, thus this needs to be rebased
on HEAD by a volunteer.
This reverts commit b25d931a82.
2011-08-30 18:06:37 +02:00
Anton Khirnov
61b933f554 ffmpeg: add a wrapper for output AVFormatContexts and merge output_opts into it 2011-08-30 17:58:00 +02:00
Anton Khirnov
0ea58d7115 ffmpeg: make itsscale syntax consistent with other options.
Move the stream specifier to the option name.
2011-08-30 17:58:00 +02:00
Anton Khirnov
81e4655566 ffmpeg: factor out adding input streams. 2011-08-30 17:58:00 +02:00
Alex Converse
a6d0340ca1 ffmpeg: Factorize combining auto vsync with format. 2011-08-30 17:57:59 +02:00
Alex Converse
ebf94f439e ffmpeg: Factorize video resampling. 2011-08-30 17:57:59 +02:00
Alex Converse
dadbebbbbc ffmpeg: Don't unnecessarily convert ipts to a double. 2011-08-30 17:57:59 +02:00
Anton Khirnov
7357f6e678 ffmpeg: don't segfault on 0 input files. 2011-08-30 17:57:59 +02:00
Anton Khirnov
6e675b504a ffmpeg: remove pointless parameter from new_*_stream().
New streams are always added to the last output file.
2011-08-30 17:57:59 +02:00
Anton Khirnov
868013aa01 ffmpeg: cosmetics, move code
Move find_codec_or_die(), choose_codec(), new_output_stream() and
read_avserver_streams() below transcode() where they belong.
2011-08-30 17:57:59 +02:00
Anton Khirnov
6f610fa144 ffmpeg: cosmetics -- move copy_chapters().
It's only used in opt_output_file(), so move it right above
opt_output_file().
2011-08-30 17:57:59 +02:00
Anton Khirnov
c692eda3e7 ffmpeg: cosmetics -- move parse_forced_key_frames().
parse_forced_key_frames() is only used in new_video_stream(), so move it
right above new_video_stream().
2011-08-30 17:57:59 +02:00
Anton Khirnov
f69e8c7d15 ffmpeg: switch to a:b syntax 2011-08-30 17:57:59 +02:00
Anton Khirnov
e3bf4e292c ffmpeg: replace -vcodec/-acodec/-scodec with a better system.
The new option doesn't depend on its placement wrt -new* options (which
don't exist anymore) and works in a similar way as per-stream AVOptions.

-[vas]codec remain as aliases to -codec:[vas]
2011-08-30 17:57:59 +02:00
Anton Khirnov
a0147957e7 ffmpeg: remove presets.
Nothing except x264 uses them and native x264 presets should be used
with private options.
2011-08-30 17:57:59 +02:00
Michael Niedermayer
2d726b195e Revert "ffmpeg: simplify opt_*_codec() options"
This is needed because the following cherry picks are based on code prior of this

This reverts commit f712f6c8a4.
2011-08-30 17:57:59 +02:00
Anton Khirnov
88bfe4518b ffmpeg: change semantics of -map
New syntax contains an optional stream type, allowing to refer to n-th
stream of specific type.

Omitting stream number now maps all streams of the given type.
2011-08-30 17:57:59 +02:00
Anton Khirnov
f12f40b31a ffmpeg: get rid of new* options.
They are confusing, irregular and redundant -- -map already contains all
the information.  Stream maps can now be parsed in opt_output_file().

Add a more user-friendly default behavior in case no maps are present.

Breaks -programid for now, but it never worked properly anyway. A better
solution will be written soon.
2011-08-30 17:57:59 +02:00
Anton Khirnov
7efec8dd6d ffmpeg: rename sameq variables to same_quant 2011-08-30 17:57:59 +02:00
Anton Khirnov
5a9e42ec45 ffmpeg: make -map_metadata work consistently with the other options
Before, it took an input and output file index, now it only takes an
input file and applies to the next output file.

Stream/chapter/program specification is now part of the option name and
the delimiter was changed from ',' to ':' to be consistent with the
similar feature for AVOptions.
2011-08-30 17:57:59 +02:00
Anton Khirnov
6bf3c39d17 ffmpeg: make -map_chapters accept only the input file index.
This is consistent with how all the other options work

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-30 17:57:59 +02:00
Michael Niedermayer
97861f5b08 ffmpeg: Set codec_type in new_output_stream
Ported from a change from anton khirnov to avconv

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-30 17:57:59 +02:00
Anton Khirnov
a0ce297b69 ffmpeg: rename ffmpeg_exit in exit_program
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-30 17:57:59 +02:00
Michael Niedermayer
50be0b911a ffmpeg: Support queing filter commands for later times
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-29 20:16:13 +02:00
Michael Niedermayer
bb22f39fe2 ffmpeg: Support passing commands to filters at runtime
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-29 20:16:06 +02:00
Diego Biurrun
0249478756 doxygen: fix wrong comment syntax, //< vs. ///< 2011-08-26 18:34:28 +02:00
Nicolas George
83ff2a1153 ffmpeg: use avcodec_get_name to report missing en/decoders. 2011-08-22 12:13:27 +02:00
Nicolas George
8b52b46c97 ffmpeg: print the codecs names in the stream mapping. 2011-08-22 10:46:13 +02:00
Nicolas George
5fa98ab42d ffmpeg: ignore forward gaps for subtitles streams. 2011-08-22 09:55:35 +02:00
Michael Niedermayer
edae3dbf1d Merge remote-tracking branch 'qatar/master'
* qatar/master: (23 commits)
  h264: hide reference frame errors unless requested
  swscale: split hScale() function pointer into h[cy]Scale().
  Move clipd macros to x86util.asm.
  avconv: reindent.
  avconv: rescue poor abused start_time global.
  avconv: rescue poor abused recording_time global.
  avconv: merge two loops in output_packet().
  avconv: fix broken indentation.
  avconv: get rid of the arbitrary MAX_FILES limit.
  avconv: get rid of the output_streams_for_file vs. ost_table schizophrenia
  avconv: add a wrapper for output AVFormatContexts and merge output_opts into it
  avconv: make itsscale syntax consistent with other options.
  avconv: factor out adding input streams.
  avconv: Factorize combining auto vsync with format.
  avconv: Factorize video resampling.
  avconv: Don't unnecessarily convert ipts to a double.
  ffmpeg: remove unsed variable nopts
  RV3/4 parser: remove unused variable 'off'
  add XMV demuxer
  rmdec: parse FPS in RealMedia properly
  ...

Conflicts:
	avconv.c
	libavformat/version.h
	libswscale/swscale.c
	tests/ref/fate/lmlm4-demux

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-18 10:56:08 +02:00
Diego Biurrun
f056fc2c6c ffmpeg: remove unsed variable nopts 2011-08-17 15:35:42 +02:00
Michael Niedermayer
41bf67d8d4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  movenc: change AV_LOG_INFO to AV_LOG_WARNING for some warnings
  avconv: remove a write-only variable
  avconv: remove pointless parameter from new_*_stream().
  avconv: cosmetics, move code
  avconv: cosmetics -- move copy_chapters().
  avconv: cosmetics -- move parse_forced_key_frames().
  lavc: add audio flag to the 'b' option, deprecate 'ab'.
  avconv: rename sameq to same_quant
  doc/avconv: add forgotten end of chapter.
  Changelog: document avconv incompatibilities with ffmpeg.
  avconv: replace -vcodec/-acodec/-scodec with a better system.
  avconv: remove presets.
  svq3: propagate codec memory allocation failure in context init

Conflicts:
	Changelog
	avconv.c
	libavcodec/options.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-16 23:47:35 +02:00
Michael Niedermayer
1a34478b71 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  Fix NASM include directive
  dsputil_mmx: Honor HAVE_AMD3DNOW
  lavf,lavd: remove all usage of AVFormatParameters from demuxers.
  jack: add 'channels' private option.
  VC-1: fix reading of custom PAR.
  Remove redundant and dubious video codec detection by its extradata
  mpeg12: remove repeat-field code disabled since May 2002
  patch checklist: suggest fate instead of regression tests
  Turn on resampling on sudden size change instead of bailing out during recode.
  avtools: reinitialise filter chain when input video stream changes dimensions

Conflicts:
	Makefile
	avconv.c
	doc/developer.texi
	ffplay.c
	libavcodec/x86/dsputil_mmx.c
	libavdevice/libdc1394.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-15 23:35:53 +02:00
Dustin Brody
2bfdb34c8a mpeg12: remove repeat-field code disabled since May 2002
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-15 13:03:20 +02:00
Michael Niedermayer
f8a1fc2623 ffmpeg: fix null pointer segfault on solaris. (ticket381)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-13 14:27:49 +02:00
Michael Niedermayer
0cb233cf46 Merge commit 'b2c087871dafc7d030b2d48457ddff597dfd4925'
* commit 'b2c087871dafc7d030b2d48457ddff597dfd4925':
  Move x86util.asm from libavcodec/ to libavutil/.
  Move x86inc.asm to libavutil/.
  APIchanges: note error_recognition in lavf
  lavf: add support for error_recognition, use it in avidec, and bump minor API version
  avconv: change semantics of -map
  avconv: get rid of new* options.
  cmdutils: allow precisely specifying a stream for AVOptions.
  configure: add missing CFLAGS to fix building on the HURD
  libx264: Include hint for possible values for configuring libx264
  cmdutils: allow ':'-separated modifiers in option names.
  avconv: make -map_metadata work consistently with the other options
  avconv: remove deprecated options.
  avconv: make -map_chapters accept only the input file index.
  Make a copy of ffmpeg under a new name -- avconv.
  ffmpeg: add a warning stating that the program is deprecated.
  Add weighted motion compensation for RV40 B-frames
  RV3/4: calculate B-frame motion weights once per frame
  Move RV3/4-specific DSP functions into their own context
  mjpeg: propagate decode errors from ff_mjpeg_decode_sos and ff_mjpeg_decode_dqt
  h264: notice memory allocation failure

Conflicts:
	.gitignore
	Makefile
	cmdutils.c
	configure
	doc/ffplay.texi
	doc/ffprobe.texi
	doc/ffserver.texi
	libavcodec/libx264.c
	libavformat/avformat.h
	libavformat/avidec.c
	libavformat/version.h
	tests/lavf-regression.sh
	tests/lavfi-regression.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-13 02:56:08 +02:00
Anton Khirnov
d4863fc1a8 cmdutils: allow precisely specifying a stream for AVOptions. 2011-08-12 18:35:12 +02:00
Anton Khirnov
791a86c37a ffmpeg: add a warning stating that the program is deprecated. 2011-08-12 13:27:20 +02:00
Anton Khirnov
4d58e4cb4c Rename ffserver to avserver. 2011-08-09 19:56:25 +02:00
Carl Eugen Hoyos
f8dc2e51aa ffmpeg: fix passlogfile regression 2011-08-09 01:11:37 +02:00
Michael Niedermayer
6e19cfb083 ffmpeg: Fix doxygen comments for MetadataMap
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-05 01:18:40 +02:00
Carl Eugen Hoyos
31fe5d9825 Fix possible crash when decoding mpeg streams.
This reverts 2cf8355f98,
fixes ticket 329.
2011-08-04 11:06:43 +02:00
Carl Eugen Hoyos
08d2cee49c Fix -loop_input. 2011-08-03 11:45:33 +02:00
Carl Eugen Hoyos
8460b757c2 Do not ignore opt_default() return values. 2011-08-01 00:58:49 +02:00
Michael Niedermayer
2dd2abe391 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h263dec: Propagate AV_LOG_ERRORs from slice decoding through frame decoding with sufficient error recognition
  x86: cabac: don't load/store context values in asm
  H.264: optimize CABAC x86 asm for Atom
  vp3/theora: flush after seek.
  doc/fftools-common-opts: wording fixes missing from the previous commit.
  doc: document using AVOptions in fftools.
  cmdutils: add codec_opts parameter to setup_find_stream_info_opts()
  cmdutils: clarify documentation for filter_codec_opts()
  cmdutils: clarify documentation for setup_find_stream_info_opts()
  lavf: add forgotten attribute_deprecated to av_find_stream_info()

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-29 01:50:53 +02:00
Stefano Sabatini
8ec19f84e1 cmdutils: add codec_opts parameter to setup_find_stream_info_opts()
Avoid brittle and obfuscating reference to a global.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-07-28 17:13:14 +02:00
Michael Niedermayer
981f6fc988 ffmpeg: better timebase guessing for stream copy
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-25 20:48:55 +02:00
Nicolas George
257f274dfa Do not use AVFMT_FLAG_NONBLOCK for the output file.
Restore the commit 0de8ebf by Carl Eugen Hoyos that was lost during the
merge 58257ea.
2011-07-19 10:12:33 +02:00
Michael Niedermayer
78accb876c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ffmpeg: fix some indentation
  ffmpeg: fix operation with --disable-avfilter
  simple_idct: remove disabled code
  motion_est: remove disabled code
  vc1: remove disabled code
  fate: separate lavf-mxf_d10 test from lavf-mxf
  cabac: Move code only used in the cabac test program to cabac.c.
  ffplay: warn that -pix_fmt is no longer working, suggest alternative
  ffplay: warn that -s is no longer working, suggest alternative
  lavf: rename enc variable in utils.c:has_codec_parameters()
  lavf: use designated initialisers for all (de)muxers.
  wav: remove a use of deprecated AV_METADATA_ macro
  rmdec: remove useless ap parameter from rm_read_header_old()
  dct-test: remove write-only variable
  des: fix #if conditional around P_shuffle
  Use LOCAL_ALIGNED in ff_check_alignment()

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-17 20:12:02 +02:00
Mans Rullgard
08e09ed7db ffmpeg: fix some indentation
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-17 17:10:47 +01:00
Mans Rullgard
e9f98c9022 ffmpeg: fix operation with --disable-avfilter
The width and height must be copied from the input before
being used.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-17 17:10:37 +01:00
Michael Niedermayer
c31a5b23b4 Revert "ffmpeg: get rid of a pointless limit on number of streams."
This reverts commit c7dd3e7e43

Conflicts:

	ffmpeg.c
2011-07-16 19:33:27 +02:00
Michael Niedermayer
32aef7d019 ffmpeg: fix muxer private options (bug introduced by anton khirnov)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-15 18:27:30 +02:00
Michael Niedermayer
042f9d62ca Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: Automatically add more flags required on symbian
  mem.h: switch doxygen parameter order to match function prototype
  doxygen: replace @sa tag by the more readable but equivalent @see
  doxygen: use Doxygen markup for authors and web links where appropriate
  doxygen: do not include license boilerplate in Doxygen documentation
  ac3enc: Mark AVClasses const
  ffserver: Replace two loops with one loop.
  ffmpeg: Fix the check for experimental codecs
  swscale: extend mmx padding.
  swscale: clip unscaled colorspace conversion path.
  doxygen: misc consistency cosmetics
  doc: remove file name from @file directive in Doxygen usage example
  doxygen: consistently place brief description
  doxygen: place empty line between brief description and detailed description
  avformat_open_input(): Add braces to shut up gcc warning.

Conflicts:
	libavcodec/8svx.c
	libavcodec/tiff.c
	libavcodec/tiff.h
	libavcodec/vaapi_h264.c
	libavcodec/vorbis.c
	libavcodec/vorbisdec.c
	libavcodec/vp6.c
	libswscale/swscale_unscaled.c
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-15 17:51:09 +02:00
Martin Storsjö
daca33659d ffmpeg: Fix the check for experimental codecs
The variable 'codec' was used uninitialized here.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-07-14 23:37:18 +03:00
Michael Niedermayer
321b2a9ded ffmpeg: loose lowres hackery
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-14 21:22:12 +02:00
Michael Niedermayer
5dc6bd86f0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  APIchanges: fill in missing hashes and dates.
  Add an APIChanges entry and bump minor versions for recent changes.
  ffmpeg: print the low bitrate warning after the codec is openend.
  doxygen: Move function documentation into the macro generating the function.
  doxygen: Make sure parameter names match between .c and .h files.
  h264: move fill_decode_neighbors()/fill_decode_caches() to h264_mvpred.h
  H.264: Add more x86 assembly for 10-bit H.264 predict functions
  lavf: fix invalid reads in avformat_find_stream_info()
  cmdutils: replace opt_default with opt_default2() and remove set_context_opts
  ffmpeg: use new avcodec_open2 and avformat_find_stream_info API.
  ffplay: use new avcodec_open2 and avformat_find_stream_info API.
  cmdutils: store all codec options in one dict instead of video/audio/sub
  ffmpeg: check experimental flag after codec is opened.
  ffmpeg: do not set GLOBAL_HEADER flag in the options context

Conflicts:
	cmdutils.c
	doc/APIchanges
	ffmpeg.c
	ffplay.c
	libavcodec/version.h
	libavformat/version.h
	libswscale/swscale_unscaled.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-14 20:44:58 +02:00
Anton Khirnov
1885824b20 ffmpeg: deprecate -vc and -tvstd
They've been replaced by demuxer private options.

55ba12e300
2011-07-14 18:22:37 +02:00
Anton Khirnov
f790d0092e ffmpeg: use new avformat_open_* API.
8035f42968
2011-07-14 18:22:36 +02:00
Anton Khirnov
8d03ca085f ffmpeg: print the low bitrate warning after the codec is openend.
This doesn't access avcodec_opts, so it works with the new options
passing system.

Makes opt_bitrate() unneeded, so it's removed.
2011-07-14 14:15:41 +02:00
Michael Niedermayer
80e4fe4063 Merge commit 'b5849f77095439e994b11c25e6063d443b36c228'
* commit 'b5849f77095439e994b11c25e6063d443b36c228': (21 commits)
  ac3enc: merge AC3MDCTContext with AC3EncodeContext.
  ac3enc: prefer passing AC3EncodeContext rather than AVCodecContext
  ac3enc: fix memleak
  mpeg1video: add CODEC_CAP_SLICE_THREADS.
  lavf: fix segfault in av_open_input_stream()
  mpegtsenc: set Random Access indicator on keyframe start packets
  lavf: Cleanup try_decode_frame() logic.
  Replace some gotos that lead to single return statements by direct return.
  build: move tests/seek_test.c to libavformat and reuse generic build rules
  mxfenc: include needed header for ff_iso8601_to_unix_time() prototype
  Add a check for strptime().
  lavf: factor out conversion of ISO8601 string to unix time
  wav: parse 'bext' metadata
  wav: keep parsing until EOF if the input is seekable and we know the size of the data tag
  wav: Refactor the tag checking into a switch statement
  wav: make sure neither data_size nor sample_count is negative.
  wav: refactor the 'fmt ' tag search and parsing.
  wav: add an option for writing BEXT chunk
  ffmpeg: get rid of a pointless limit on number of streams.
  ffmpeg: remove an unused define.
  ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-14 02:24:10 +02:00
Anton Khirnov
bf174a70cd ffmpeg: use new avcodec_open2 and avformat_find_stream_info API. 2011-07-13 23:17:42 +02:00
Anton Khirnov
a9eb4f0899 ffmpeg: check experimental flag after codec is opened.
This doesn't access avcodec_opts, so it will work with the new options
passing system.
2011-07-13 23:17:42 +02:00
Anton Khirnov
8e2d085516 ffmpeg: do not set GLOBAL_HEADER flag in the options context
The removed lines have no effect, since the flag is set on all encoder
for the given file and avcodec_opts are reset between files.
2011-07-13 23:17:42 +02:00
Diego Biurrun
71a1d1116f Replace some gotos that lead to single return statements by direct return. 2011-07-13 17:53:49 +02:00
Anton Khirnov
c7dd3e7e43 ffmpeg: get rid of a pointless limit on number of streams. 2011-07-13 10:37:24 +02:00
Anton Khirnov
646a9a1893 ffmpeg: remove an unused define. 2011-07-13 10:37:20 +02:00
Michael Niedermayer
bb258fb995 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc: Improve references to external URLs.
  h264: move decode_mb_skip() from h264.h to h.264_mvpred.h
  ffplay: skip return value of avcodec_decode_video2 / avcodec_decode_subtitle2
  dnxhdenc: Replace a forward declaration by the proper #include.
  h264: move h264_mvpred.h include.
  pix_fmt: Fix number of bits per component in yuv444p9be
  lavf: deprecate AVFormatContext.timestamp
  ffmpeg: merge input_files_ts_scale into InputStream.
  ffmpeg: don't abuse a global for passing sample format from input to output
  ffmpeg: don't abuse a global for passing channel layout from input to output
  ffmpeg: factor common code from new_a/v/s/d_stream to new_output_stream()
  matroskaenc: make SSA default subtitle codec.
  oggdec: prevent heap corruption.

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-13 00:42:11 +02:00
Anton Khirnov
5f847bf61d lavf: deprecate AVFormatContext.timestamp
It's replaced by 'creation_time' metadata tag.
2011-07-12 15:30:10 +02:00
Anton Khirnov
b12c259252 ffmpeg: merge input_files_ts_scale into InputStream. 2011-07-12 15:29:21 +02:00
Anton Khirnov
6fbf2485ad ffmpeg: don't abuse a global for passing sample format from input to output
It's broken with multiple files or audio streams.
2011-07-12 15:28:53 +02:00
Anton Khirnov
87c739a395 ffmpeg: don't abuse a global for passing channel layout from input to output
It's broken with multiple files or audio streams.
2011-07-12 15:28:22 +02:00
Anton Khirnov
1cede1d011 ffmpeg: factor common code from new_a/v/s/d_stream to new_output_stream() 2011-07-12 15:26:04 +02:00
Michael Niedermayer
58257ea29e Merge remote-tracking branch 'qatar/master'
* qatar/master: (28 commits)
  mp3enc: write a xing frame containing number of frames in the file
  lavf: update AVStream.nb_frames when muxing.
  ffmpeg: remove unused variables from InputStream.
  doc: update ffmpeg -ar and -ac documentation to reflect reality.
  ffmpeg: remove pointless if (nb_input_files)
  ffmpeg: merge input_files_ts_offset into input_files.
  ffmpeg: merge input_codecs into input_streams.
  ffmpeg: drop AV prefixes from struct names.
  ffmpeg: deprecate loop_input and loop_output options
  gif: add loop private option.
  img2: add loop private option.
  AVOptions: in av_opt_find() don't return named constants unless unit is specified.
  x11grab: replace undocumented nomouse hackery with a private option.
  dict: extend documentation.
  lls: whitespace cosmetics
  docs: Use proper markup for a literal command line option
  docs: Remove a remark that isn't relevant any longer
  docs: Explain how to regenerate import libraries with MSVC tools
  docs: Mention that libraries for MSVC can be built with a cross compiler
  docs: Remove old docs that mention setting up a build environment with lib.exe
  ...

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-09 02:06:40 +02:00
Anton Khirnov
e98bc78ca1 ffmpeg: remove unused variables from InputStream. 2011-07-08 19:58:23 +02:00
Anton Khirnov
20f9f21fd4 ffmpeg: remove pointless if (nb_input_files)
It's required to be non-zero since
cc58300e30
2011-07-08 19:58:23 +02:00
Anton Khirnov
27e91f37f5 ffmpeg: merge input_files_ts_offset into input_files. 2011-07-08 19:58:23 +02:00
Anton Khirnov
9e253c13d0 ffmpeg: merge input_codecs into input_streams.
There's no point in keeping them separate.
2011-07-08 19:58:23 +02:00
Anton Khirnov
17c8cc550d ffmpeg: drop AV prefixes from struct names.
Those are reserved for the libs.
2011-07-08 19:58:22 +02:00
Anton Khirnov
f5302e5dcf ffmpeg: deprecate loop_input and loop_output options
They were replaced by (de)muxer private options.
2011-07-08 19:58:19 +02:00
Michael Niedermayer
c3b6cc61e5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ffserver: remove unused variable.
  Remove unused and outdated TODO file.
  gitignore: Drop individual .d ignore; it is already covered by a wildcard.
  lavf: deprecate AVStream.quality.
  bink: pass Bink version to audio decoder through extradata instead of codec_tag.
  libpostproc: Remove disabled code.
  flashsv: improve some comments and fix some wrong ones
  flashsv: Eliminate redundant variable indirection.
  flashsv: set reference frame type to full frame
  flashsv: replace bitstream description by a link to the specification
  flashsv: convert a debug av_log into av_dlog
  flashsv: simplify condition
  flashsv: return more meaningful error values
  flashsv: cosmetics: break some overly long lines
  flashsv: cosmetics: drop some unnecessary parentheses
  swscale: amend documentation to mention use of native depth for scaling.
  eval: add missing comma to tests.
  eval: fix memleak.
  H.264: make loopfilter bS const where applicable

Conflicts:
	libavcodec/binkaudio.c
	libavformat/bink.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-06 23:57:11 +02:00
Anton Khirnov
5e8d2e337e lavf: deprecate AVStream.quality.
AVStream is no place for it and it's unused outside of ffmpeg anyway.
2011-07-06 20:10:41 +02:00
Michael Niedermayer
976a8b2179 Merge remote-tracking branch 'qatar/master'
* qatar/master: (40 commits)
  H.264: template left MB handling
  H.264: faster fill_decode_caches
  H.264: faster write_back_*
  H.264: faster fill_filter_caches
  H.264: make filter_mb_fast support the case of unavailable top mb
  Do not include log.h in avutil.h
  Do not include pixfmt.h in avutil.h
  Do not include rational.h in avutil.h
  Do not include mathematics.h in avutil.h
  Do not include intfloat_readwrite.h in avutil.h
  Remove return statements following infinite loops without break
  RTSP: Doxygen comment cleanup
  doxygen: Escape '\' in Doxygen documentation.
  md5: cosmetics
  md5: use AV_WL32 to write result
  md5: add fate test
  md5: include correct headers
  md5: fix test program
  doxygen: Drop array size declarations from Doxygen parameter names.
  doxygen: Fix parameter names to match the function prototypes.
  ...

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-04 00:45:21 +02:00
Mans Rullgard
0ebcdf5cda Do not include mathematics.h in avutil.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-03 21:42:06 +01:00
Michael Niedermayer
cbfdfbe846 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ARM: ac3: update ff_ac3_extract_exponents_neon per 8b7b2d6
  ARM: NEON optimised vector_clip_int32()
  swscale: disable full_chroma_int when converting to non-24/32bpp RGB.
  suggest to use av_get_bytes_per_sample() in av_get_bits_per_sample_format() doxy
  ffmpeg: use av_get_bytes_per_sample() in place of av_get_bits_per_sample_fmt()
  put_bits: remove ALT_BITSTREAM_WRITER
  put_bits: always use intreadwrite.h macros
  libavformat: Add an example how to use the metadata API
  doxygen: Prefer member groups over grouping into modules
  doxygen: be more permissive when searching for API examples
  avformat: doxify the Metadata API
  lavf: restore old behavior for custom AVIOContex with an AVFMT_NOFILE format.
  lavf: use the correct pointer in av_open_input_stream().
  avidec: infer absolute vs relative index from first packet

Conflicts:
	libavformat/Makefile
	libavformat/avidec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-03 03:14:10 +02:00
Stefano Sabatini
f6d6783a4d ffmpeg: use av_get_bytes_per_sample() in place of av_get_bits_per_sample_fmt()
av_get_bits_per_sample_fmt() was deprecated.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-02 08:33:51 -07:00
Jeff Downs
a09918335f Make all option parsing functions match the function pointer type through which they are called.
All option parsing functions now match the function pointer signature through
which they are called (int f(const char *, const char *), thereby working
reliably on all platforms.
Prefix all option processing functions with opt_
2011-06-30 11:49:48 -04:00
Carl Eugen Hoyos
08b4a667ef Set channel_layout if channels is set when transcoding. 2011-06-29 23:49:44 +02:00
Baptiste Coudurier
90a40b226a ffmpeg: fix prototypes of functions after the removal of OPT_FUNC2. 2011-06-26 14:09:48 -07:00
Clément Bœsch
4a34e54b0e Fix zero-length gnu_printf format string warning.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-21 21:41:28 +02:00
Michael Niedermayer
6cbe81999b Merge remote-tracking branch 'qatar/master'
* qatar/master: (28 commits)
  Replace usages of av_get_bits_per_sample_fmt() with av_get_bytes_per_sample().
  x86: cabac: fix register constraints for 32-bit mode
  cabac: move x86 asm to libavcodec/x86/cabac.h
  x86: h264: cast pointers to intptr_t rather than int
  x86: h264: remove hardcoded edi in decode_significance_8x8_x86()
  x86: h264: remove hardcoded esi in decode_significance[_8x8]_x86()
  x86: h264: remove hardcoded edx in decode_significance[_8x8]_x86()
  x86: h264: remove hardcoded eax in decode_significance[_8x8]_x86()
  x86: cabac: change 'a' constraint to 'r' in get_cabac_inline()
  x86: cabac: remove hardcoded esi in get_cabac_inline()
  x86: cabac: remove hardcoded edx in get_cabac_inline()
  x86: cabac: remove unused macro parameter
  x86: cabac: remove hardcoded ebx in inline asm
  x86: cabac: remove hardcoded struct offsets from inline asm
  cabac: remove inline asm under #if 0
  cabac: remove BRANCHLESS_CABAC_DECODER switch
  cabac: remove #if 0 cascade under never-set #ifdef ARCH_X86_DISABLED
  document libswscale bump
  error_resilience: skip last-MV predictor step if MVs are not available.
  error_resilience: actually add counter when adding a MV predictor.
  ...

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-21 03:38:25 +02:00
Justin Ruggles
e6c52cee54 Replace usages of av_get_bits_per_sample_fmt() with av_get_bytes_per_sample().
av_get_bits_per_sample_fmt() is deprecated.
2011-06-20 18:56:06 -04:00
Michael Niedermayer
cfbaeb311d ffmpeg: print warning if encoding would duplicate massive amounts of frames
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-20 20:13:26 +02:00
Stefano Sabatini
44f669e7bc lavfi: add vsink_buffer, and use it in ff* tools
Also add the public interface libavfilter/vsink_buffer.h.
2011-06-19 19:18:33 +02:00
Michael Niedermayer
035c13e307 ffmpeg: warn if samples need to be converted in a lossy way for lossless encoders.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-19 03:54:15 +02:00
Michael Niedermayer
2905e3ff64 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: add opt_find to AVCodecContext class.
  h264: Complexify frame num gap shortening code
  intreadwrite.h: fix AV_RL32/AV_RB32 signedness.
  Fix decoding of mpegts streams with h264 video that does *NOT* have b frames
  Add minor bumps and APIChanges entries for lavf private options.
  ffmpeg: deprecate -vc and -tvstd
  ffmpeg: use new avformat_open_* API.
  ffserver: use new avformat_open_* API.
  ffprobe: use new avformat_open_* API.
  ffplay: use new avformat_open_* API.
  cmdutils: add opt_default2().
  dict: add AV_DICT_APPEND flag.
  lavf: add avformat_write_header() as a replacement for av_write_header().
  Deprecate av_open_input_* and remove their uses.
  lavf: add avformat_open_input() as a replacement for av_open_input_*
  AVOptions: add av_opt_find() as a replacement for av_find_opt.
  AVOptions: add av_opt_set_dict() mapping a dictionary struct to a context.
  ffmpeg: don't abuse a global for passing frame size from input to output
  ffmpeg: don't abuse a global for passing pixel format from input to output
  ffmpeg: initialise encoders earlier.

Conflicts:
	cmdutils.c
	doc/APIchanges
	ffmpeg.c
	ffplay.c
	ffprobe.c
	libavcodec/h264.c
	libavformat/avformat.h
	libavformat/utils.c
	libavformat/version.h
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-18 05:10:38 +02:00
Michael Niedermayer
4f643430f2 Merge commit '9446d75941d639f19cfa9ae007eb4c5ca041f200'
* commit '9446d75941d639f19cfa9ae007eb4c5ca041f200':
  ffmpeg: merge output_codecs array into AVOutputStream members.
  rtpenc_latm: Consistently use "Libav" in license boilerplate.
  rtsp: Don't pass string pointer as format string to ff_url_join
  mmsh: fixed printf injection bug in mmsh request
  codec-regression: remove pointless -r options for dnxhd

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-17 05:49:58 +02:00
Michael Niedermayer
f6e2af4f5a ffmpeg: Force 420 with target dvd and svcd.
Fixes ticket283

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-16 23:06:27 +02:00
Anton Khirnov
55ba12e300 ffmpeg: deprecate -vc and -tvstd
They've been replaced by demuxer private options.
2011-06-16 20:24:57 +02:00
Anton Khirnov
8035f42968 ffmpeg: use new avformat_open_* API. 2011-06-16 20:24:57 +02:00
Anton Khirnov
0b7ccad6bf ffmpeg: don't abuse a global for passing frame size from input to output
It's broken with multiple files or video streams.
2011-06-16 20:24:55 +02:00
Anton Khirnov
10de86b882 ffmpeg: don't abuse a global for passing pixel format from input to output
It's broken with multiple files or video streams.
2011-06-16 20:24:50 +02:00
Anton Khirnov
9446d75941 ffmpeg: merge output_codecs array into AVOutputStream members.
There's no point in keeping them separate.
2011-06-16 20:11:08 +02:00
Anton Khirnov
62940bb42f ffmpeg: initialise encoders earlier.
Fixes choosing supported samplerate and framerate.
2011-06-16 20:11:08 +02:00
Michael Niedermayer
7a02527b05 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ac3enc: use correct alignment and length in channel coupling dsp functions.
  ffmpeg: don't abuse a global for passing framerate from input to output
  ffmpeg: don't abuse a global for passing channels from input to output
  ffmpeg: don't abuse a global for passing samplerate from input to output
  ARM: update ff_h264_idct8_add4_neon for 4:4:4 changes
  swscale: use SwsContext for av_log when available
  swscale: Remove HAVE_MMX from files that are only compiled with MMX enabled.
  swscale: Fix compilation with --disable-mmx2.

Conflicts:
	ffmpeg.c
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-16 03:53:58 +02:00
Anton Khirnov
a6286bda09 ffmpeg: don't abuse a global for passing framerate from input to output
It's broken with multiple files or video streams.
2011-06-15 21:57:53 +02:00
Anton Khirnov
8f3e999736 ffmpeg: don't abuse a global for passing channels from input to output
It's broken with multiple files or audio streams.
2011-06-15 21:57:52 +02:00
Anton Khirnov
d7ee44024c ffmpeg: don't abuse a global for passing samplerate from input to output
It's broken with multiple files or audio streams.

This removes the default samplerate of 44100 for raw input, hence all
the FATE changes.
2011-06-15 21:57:52 +02:00
Ronald S. Bultje
0be3736796 ffmpeg: fix streaming to ffserver. 2011-06-14 15:59:15 -04:00
Stefano Sabatini
c535494268 avfiltergraph: make the AVFilterInOut alloc/free API public
This is required for letting applications to create and destroy
AVFilterInOut structs in a convenient way.
2011-06-12 22:46:02 +02:00
Stefano Sabatini
6119b23a36 avfiltergraph: change the syntax of avfilter_graph_parse()
Make it returns the list of open inputs and outputs, so it can be
reused by applications.

Breaks API/ABI.
2011-06-12 22:46:02 +02:00
Etienne Buira
39dbe9b6b8 Fix -t option for formats which holds dts and no pts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-11 02:26:26 +02:00
Alex Converse
9a1b79128c ffmpeg.c: Add a necessary const qualifier 2011-06-09 10:12:50 -07:00
Michael Niedermayer
f9ecb849ef Merge remote-tracking branch 'qatar/master'
* qatar/master:
  crypto: Use av_freep instead of av_free
  lavf: don't try to free private options if priv_data is NULL.
  swscale: fix types of assembly arguments.
  swscale: move two macros that are only used once into caller.
  swscale: remove unused function.
  options: Add missing braces around struct initializer.
  mov: Remove leftover crufty debug statement with references to a local file.
  dvbsubdec: Fix compilation of debug code.
  Remove all uses of now deprecated metadata functions.
  Move metadata API from lavf to lavu.

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-09 04:47:19 +02:00
Anton Khirnov
d2d67e424f Remove all uses of now deprecated metadata functions. 2011-06-08 07:43:45 +02:00
Michael Niedermayer
580817df04 Move code for "ffmpeg: fix massive leak occurring when seeking" / e4841a404b elsewhere
The picture struct is written to in the loop, so this cannot work.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-06 04:20:43 +02:00
Stefano Sabatini
27bcf55f45 vsrc_buffer: add flags param to av_vsrc_buffer_add_video_buffer_ref
The new flags parameter allows to specify if the video ref to add
should overwrite the cache, if the flag is not set vsrc_buffer will
complain and abort; otherwise it will clean the already cached video
ref before to overwrite it, thus avoiding a leak.
2011-06-06 01:35:27 +02:00
Stefano Sabatini
e4841a404b ffmpeg: fix massive leak occurring when seeking
Avoid to add frames to the vsrc_buffer in the case ist->pts <
start_time, as these frames are unused (and never released). In
particular this condition is verified with commands of the kind:
ffmpeg -i INPUT -ss TIME OUTPUT

Also allow a minor simplification.
2011-06-05 13:32:33 +02:00
Stefano Sabatini
96f931adf7 cmdutils: change the signature of the function argument in parse_options()
This is required for a pending simplification.
2011-06-05 13:21:02 +02:00
Michael Niedermayer
87f40364d1 Merge remote-tracking branch 'qatar/master'
* qatar/master: (21 commits)
  build: simplify commands for clean target
  swscale: split swscale.c in unscaled and generic conversion routines.
  swscale: cosmetics.
  swscale: integrate (literally) swscale_template.c in swscale.c.
  swscale: split out x86/swscale_template.c from swscale.c.
  swscale: enable hScale_altivec_real.
  swscale: split out ppc _template.c files from main swscale.c.
  swscale: remove indirections in ppc/swscale_template.c.
  swscale: split out unscaled altivec YUV converters in their own file.
  mpegvideoenc: fix multislice fate tests with threading disabled.
  mpegts: Wrap #ifdef DEBUG and av_hex_dump_log() combination in a macro.
  build: Simplify texi2html invocation through the --output option.
  Mark some variables with av_unused
  Replace avcodec_get_pix_fmt_name() by av_get_pix_fmt_name().
  svq3: Check negative mb_type to fix potential crash.
  svq3: Move svq3-specific fields to their own context.
  rawdec: initialize return value to 0.
  Remove unused get_psnr() prototype
  rawdec: don't leak option strings.
  bktr: get default framerate from video standard.
  ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-04 06:35:17 +02:00
Baptiste Coudurier
e4e2db9c74 ffmpeg: use opt_acodec when setting audio codec in opt_target. 2011-06-03 19:52:59 -07:00
Michael Niedermayer
bfd3b70ac3 ffmpeg: fix segfault with too many output files
Fixes Ticket219

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-04 01:24:00 +02:00
Stefano Sabatini
94bed8e582 Replace avcodec_get_pix_fmt_name() by av_get_pix_fmt_name().
This fixes warnings about avcodec_get_pix_fmt_name() being deprecated.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-06-03 13:55:55 +02:00
Michael Niedermayer
99eb31e263 Merge remote-tracking branch 'qatar/master'
* qatar/master: (25 commits)
  Replace custom DEBUG preprocessor trickery by the standard one.
  vorbis: Remove non-compiling debug statement.
  vorbis: Remove pointless DEBUG #ifdef around debug output macros.
  cook: Remove non-compiling debug output.
  Remove pointless #ifdefs around function declarations in a header.
  Replace #ifdef + av_log() combinations by av_dlog().
  Replace custom debug output functions by av_dlog().
  cook: Remove unused debug functions.
  Remove stray extra arguments from av_dlog() invocations.
  targa: fix big-endian build
  v4l2: remove one forgotten use of AVFormatParameters.pix_fmt.
  vfwcap: add a framerate private option.
  v4l2: add a framerate private option.
  libdc1394: add a framerate private option.
  fbdev: add a framerate private option.
  bktr: add a framerate private option.
  oma: check avio_read() return value
  nutdec: remove unused variable
  Remove unused variables
  swscale: allocate larger buffer to handle altivec overreads.
  ...

Conflicts:
	ffmpeg.c
	libavcodec/dca.c
	libavcodec/dirac.c
	libavcodec/error_resilience.c
	libavcodec/h264.c
	libavcodec/mpeg12.c
	libavcodec/mpeg4videodec.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c
	libavcodec/pthread.c
	libavcodec/rv10.c
	libavcodec/s302m.c
	libavcodec/shorten.c
	libavcodec/truemotion2.c
	libavcodec/utils.c
	libavdevice/dv1394.c
	libavdevice/fbdev.c
	libavdevice/libdc1394.c
	libavdevice/v4l2.c
	libavformat/4xm.c
	libavformat/apetag.c
	libavformat/asfdec.c
	libavformat/avidec.c
	libavformat/mmf.c
	libavformat/mpeg.c
	libavformat/mpegenc.c
	libavformat/mpegts.c
	libavformat/oggdec.c
	libavformat/oggparseogm.c
	libavformat/rl2.c
	libavformat/rmdec.c
	libavformat/rpl.c
	libavformat/rtpdec_latm.c
	libavformat/sauce.c
	libavformat/sol.c
	libswscale/utils.c
	tests/ref/vsynth1/error
	tests/ref/vsynth2/error

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-03 05:19:30 +02:00
Baptiste Coudurier
dd47107021 In print_report, print progression time in hours:mins:secs:us
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-03 03:46:13 +02:00
Baptiste Coudurier
1212d5b5e4 ffmpeg: In print_report, use int64_t for pts to check for 0 and avoid inf value for bitrate.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-03 03:46:13 +02:00
Mans Rullgard
e65ab9d94f Remove unused variables 2011-06-02 20:06:00 +01:00
Stefano Sabatini
ac41f3b036 ffmpeg: handle copy of packets for AVFMT_RAWPICTURE output formats
Store AVPicture in AVPacket as required by AVFMT_RAWPICTURE formats.

Fix trac issue #251.
2011-06-01 13:04:53 +02:00
Stefano Sabatini
f712f6c8a4 ffmpeg: simplify opt_*_codec() options
Replace opt_{audio,video,subtitle,data}_codec() with a single
opt_codec() function.
2011-05-30 09:09:56 +02:00
Clément Bœsch
adba9c6352 Fix various unused variable warnings
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-30 00:24:01 +02:00
Reimar Döffinger
bb9b7bc62e Remove now unused nb_istreams variable. 2011-05-29 15:33:48 +02:00
Michael Niedermayer
b8a43bc1b5 Merge remote-tracking branch 'qatar/master' into master
* qatar/master: (27 commits)
  ac3enc: fix LOCAL_ALIGNED usage in count_mantissa_bits()
  ac3dsp: do not use the ff_* prefix when referencing ff_ac3_bap_bits.
  ac3dsp: fix loop condition in ac3_update_bap_counts_c()
  ARM: unbreak build
  ac3enc: modify mantissa bit counting to keep bap counts for all values of bap instead of just 0 to 4.
  ac3enc: split mantissa bit counting into a separate function.
  ac3enc: store per-block/channel bap pointers by reference block in a 2D array rather than in the AC3Block struct.
  get_bits: add av_unused tag to cache variable
  sws: replace all long with int.
  ARM: aacdec: fix constraints on inline asm
  ARM: remove unnecessary volatile from inline asm
  ARM: add "cc" clobbers to inline asm where needed
  ARM: improve FASTDIV asm
  ac3enc: use LOCAL_ALIGNED macro
  APIchanges: fill in git hash for av_get_pix_fmt_name (0420bd7).
  lavu: add av_get_pix_fmt_name() convenience function
  cmdutils: remove OPT_FUNC2
  swscale: fix crash in bilinear scaling.
  vpxenc: add VP8E_SET_STATIC_THRESHOLD mapping
  webm: support stereo videos in matroska/webm muxer
  ...

Conflicts:
	Changelog
	cmdutils.c
	cmdutils.h
	doc/APIchanges
	doc/muxers.texi
	ffmpeg.c
	ffplay.c
	libavcodec/ac3enc.c
	libavcodec/ac3enc_float.c
	libavcodec/avcodec.h
	libavcodec/get_bits.h
	libavcodec/libvpxenc.c
	libavcodec/version.h
	libavdevice/libdc1394.c
	libavformat/matroskaenc.c
	libavutil/avutil.h
	libswscale/rgb2rgb.c
	libswscale/swscale.c
	libswscale/swscale_template.c
	libswscale/x86/swscale_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-29 03:34:35 +02:00
Stefano Sabatini
eb8bc57240 cmdutils: remove OPT_FUNC2
Make ff* tools only accept opt_* functions taking two arguments.

The distinction between functions with one and two arguments is quite
pointless. Simplify parse_options() code.
2011-05-28 18:23:05 +02:00
Stefano Sabatini
26513856d6 cmdutils: remove OPT_FUNC2
Make ff* tools only accept opt_* functions taking two arguments.

The distinction between functions with one and two arguments is quite
pointless. Simplify parse_options() code.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-28 09:40:19 -04:00
Michael Niedermayer
027264cb82 Merge remote-tracking branch 'qatar/master'
* qatar/master: (31 commits)
  ARM: add ARMv6 optimised av_clip_uintp2
  ARM: remove volatile from asm statements in libavutil/intmath
  ARM: fix av_clipl_int32_arm()
  v4l: include avdevice.h
  ffserver: move close_connection() call to avoid a temporary string and copy.
  lavf: initialize demuxer private options.
  AVOptions: set string default values.
  lavdevice: mark v4l for removal on next major bump.
  swscale: fix compile on ppc.
  swscale: fix compile on x86-32.
  build: Remove generated .version file on distclean.
  configure: Add -D_GNU_SOURCE to CPPFLAGS on OS/2.
  doc: Drop hint at --enable-memalign-hack for MinGW, it is now autodetected.
  ffplay: Remove disabled code.
  Mark parameterless function declarations as 'void'.
  swscale: use av_clip_uint8() in yuv2yuv1_c().
  swscale: remove VOF/VOFW.
  swscale: split chroma buffers into separate U/V planes.
  swscale: replace formatConvBuffer[VOF] by allocated array.
  rgb2rgb: remove duplicate mmx/mmx2/3dnow/sse2 functions.
  ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-27 02:53:21 +02:00
Mike Williams
db3262b700 ffserver: Fix a null pointer dereference as a result of the FF_API_MAX_STREAMS cleanup.
Fixed another dereference in the RTSP code.

Removed a useless variable.

Changed an unnecessary looping assignment to a simple assignment suggested by
Maksym.

Added fixes and tweaks suggested by Maksym Veremeyenko [verem@m1stereo.tv] and
Clément B.
2011-05-26 12:57:59 +02:00
Michael Niedermayer
39e4206dc6 Merge remote-tracking branch 'qatar/master'
* qatar/master: (32 commits)
  doc: create separate section for audio encoders
  swscale: Remove orphaned, commented-out function declaration.
  swscale: Eliminate rgb24toyv12_c() duplication.
  Remove h263_msmpeg4 from MpegEncContext.
  APIchanges: Fill in git hash for fps_probe_size (30315a8)
  avformat: Add fpsprobesize as an AVOption.
  avoptions: Return explicitly NAN or {0,0} if the option isn't found
  rtmp: Reindent
  rtmp: Don't try to do av_malloc(0)
  tty: replace AVFormatParameters.sample_rate abuse with a private option.
  Fix end time of last chapter in compute_chapters_end
  ffmpeg: get rid of useless AVInputStream.nb_streams.
  ffmpeg: simplify managing input files and streams
  ffmpeg: purge redundant AVInputStream.index.
  lavf: deprecate AVFormatParameters.channel.
  libdc1394: add a private option for channel.
  dv1394: add a private option for channel.
  v4l2: reindent.
  v4l2: add a private option for channel.
  lavf: deprecate AVFormatParameters.standard.
  ...

Conflicts:
	doc/APIchanges
	doc/encoders.texi
	ffmpeg.c
	libavdevice/alsa-audio.h
	libavformat/version.h
	libavutil/opt.c
	libswscale/rgb2rgb.h
	libswscale/rgb2rgb_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-26 03:28:22 +02:00
Anton Khirnov
2cf8355f98 ffmpeg: get rid of useless AVInputStream.nb_streams.
It's a duplicate of AVFormatContext.nb_streams.
2011-05-25 15:55:47 +02:00
Anton Khirnov
07633154ad ffmpeg: simplify managing input files and streams
Grow the file and stream list in opt_input_file() instead of creating it
all at once in transcode().  This is simpler and will be useful for
following commits.
2011-05-25 15:55:47 +02:00
Anton Khirnov
d2bc4da15b ffmpeg: purge redundant AVInputStream.index.
AVStream.index stores the same thing.
2011-05-25 15:55:47 +02:00
Stefano Sabatini
6b5e182540 ffmpeg: handle the case when get_filtered_frame() fails 2011-05-25 12:42:18 +02:00
Martin Storsjö
a121754852 ffmpeg: Don't trigger url_interrupt_cb on the first signal
Currently, the url_interrupt_cb callback will abort all IO
after the first received signal. This makes the output files
from e.g. the mov muxer to be unreadable if the transcode is
aborted with ctrl+c.

After this patch, the first signal cleanly breaks out of
the transcoding loop, but won't forcibly abort all IO.
After the second signal is received, the url_interrupt_cb
callback will abort all IO.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-05-22 22:06:20 +03:00
Stefano Sabatini
5ecdfd008b lavf: deprecate avformat_alloc_output_context() in favor of avformat_alloc_output_context2()
The new function accepts a slightly more intuitive order of paramters,
and returns an error code, thus allowing applications to report a
meaningful error message.
2011-05-22 20:01:31 +02:00
Michael Niedermayer
bf8bb94322 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ffmpeg: get rid of the -vglobal option.
  dct32: Add AVX implementation of 32-point DCT
  dct32: Change pass 6 permutation to allow for AVX implementation
  dct32: port SSE 32-point DCT to YASM
  multiple inclusion guard cleanup
  avio: document buffer must created with av_malloc() and friends
  avio: check AVIOContext malloc failure
  swscale: point out an alternative to sws_getContext
  svq3: Do initialization after parsing the extradata
  add changelog entries for 0.7_beta2
  mp3lame: add #include required for AV_RB32 macro.

Conflicts:
	Changelog
	libavcodec/svq3.c
	libavcodec/x86/dct32_sse.c
	libavfilter/vsrc_buffer.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-22 04:53:19 +02:00
Anton Khirnov
71cc331cab ffmpeg: get rid of the -vglobal option.
It's badly documented and does the same thing as -flags global_header,
so it's redundant.
2011-05-21 21:25:58 +02:00
Mike William
840238b870 ffserver: dont just crash
With changes from ubitux.
2011-05-21 04:50:59 +02:00
Maksym Veremeyenko
ab1c19efc5 fix ffserver's SIGSEGV 2011-05-21 04:39:20 +02:00
Stefano Sabatini
328810390d ffmpeg: remove useless NULL-check on avfilter_unref_buffer
The check is no more required since recent changes in the
avfilter_unref_buffer(), the check is done in the function.
Simplify.
2011-05-20 09:34:56 +02:00
Stefano Sabatini
c000a9f783 vsrc_buffer: add av_vsrc_buffer_add_frame()
The new function is a wrapper around
av_vsrc_buffer_add_video_buffer_ref(), and allows to simplify the act
of pushing AVFrame data to the source buffer.
2011-05-19 23:15:34 +02:00
Stefano Sabatini
50764e19a8 vsrc_buffer: make the source accept sws_param in init
Avoid the need of two distinct av_vsrc_add_video_buffer_ref*
functions. Simplify the interface.
2011-05-19 23:15:33 +02:00
Stefano Sabatini
9fdf77217b lavfi: add avfilter_get_video_buffer_ref_from_frame to avcodec.h
Simplify passing AVFrame data to av_vsrc_buffer_add_video_buffer_ref().
2011-05-19 23:15:33 +02:00
Stefano Sabatini
6070b7e1c5 vsrc_buffer: remove dependency on AVFrame
Rename av_vsrc_buffer_add_frame to
av_vsrc_buffer_add_video_buffer_ref(), and change its inteface to make
it accept in input an AVFilterBufferRef rather than an AVFrame.

This way the interface can be used without requiring the
inclusion/installation of libavcodec headers.
2011-05-19 23:15:33 +02:00
Justin Ruggles
bc778a0cea Add support for request_sample_format in ffmpeg and ffplay. 2011-05-18 17:27:06 -04:00
Michael Niedermayer
e89403216c ffmpeg: dont show_banner() on verbose<0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-18 17:14:34 +02:00
Michael Niedermayer
a4b6000b00 ffmpeg: reset top_field_first in opt_input_file().
This allows seting tff for inputs without also setting it for the output
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-17 16:57:16 +02:00
Michael Niedermayer
f8ae3a2108 Merge remote branch 'qatar/master'
12 files changed, 36 insertions(+), 81 deletions(-)
yes thats 36 new lines in 14 commits

* qatar/master:
  ffmpeg: fix -aspect cli option
  Restructure video filter implementation in ffmpeg.c.
  ffplay: remove audio_write_get_buf_size() forward declaration
  lavfi: print key-frame and picture type information in ff_dlog_ref()
  mathops: remove ancient confusing comment
  cws2fws: Improve error message wording.
  tools: Check the return value of write().
  mpegaudio: move OUT_FMT macro to mpegaudiodec.c
  mpegaudio: remove OUT_MIN/MAX macros
  Add missing #includes to mp3_header_(de)compress bsf
  dct: fix indentation
  dct: bypass table allocation for DCT_II of size 32
  h264dsp_mmx: Add #ifdefs around some mmxext functions on x86_64.
  Remove unused header mpegaudio3.h.

Conflicts:
	ffmpeg.c
	libavcodec/mpegaudio.h
	libavcodec/mpegaudio3.h
	libavfilter/avfilter.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-17 04:51:33 +02:00
Baptiste Coudurier
901ff51116 ffmpeg: fix -aspect cli option
Redesign the way -aspect option is handled. This is done by making
ffmpeg read the sample aspect ratio set in the corresponding input
stream by default, and overriding it using the value specified by
-aspect.

If the output display aspect ratio is specified with -aspect, it is
set at the end of the filterchain, thus overriding the value set by
filters in the filterchain.

This implementation is more robust, since does not modify the
filterchain description (which was creating potential syntax errors).

(Cherry-pick abf8342aa9)

Another aspect ratio fix try. This leaves the setdar addition at the end
(preferred by people).

(Cherry-pick e7c7b0d000)
2011-05-16 14:13:03 -07:00
Michael Niedermayer
9d5fa6182d Restructure video filter implementation in ffmpeg.c.
This fixes several bugs like multiple outputs and -aspect mixed with -vf

(cherry picked from commit 1762d9ced7)
(cherry picked from commit 5c20c81bfa)
(cherry picked from commit a7844c580d)
2011-05-16 14:13:03 -07:00
Michael Niedermayer
9763420bcc rawdec: Allow overriding top field first.
Iam not sure this is the best way to implement it, but its the simplest
and keeps the code seperate from the application. Keeping ffmpeg.c
simple and not requireing user apps to duplicate this code.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-16 21:52:35 +02:00
Michael Niedermayer
198783744e ffmpeg: initialize input_codec array earlier.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-16 21:26:18 +02:00
Michael Niedermayer
90bb2c78d6 ffmpeg: Allow seting and cycling through debug modes.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-15 01:39:04 +02:00
Michael Niedermayer
34e838083e ffmpeg: Help for interactive keys.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-14 15:52:40 +02:00
Michael Niedermayer
0f6a8579af ffmpeg: Interactivity support. Try pressing +-hs.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-14 02:54:28 +02:00
Stefano Sabatini
dbe9453946 ffmpeg: use parse_number_and_die() when it makes sense
Prefer parse_number_or_die() over atoi()/atol() parsing for the options:
-pass, -top, -vc, and -qscale.

Improve input validation.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-13 07:38:54 +02:00
Anton Khirnov
8fb566fdf8 ffmpeg: get rid of the 'q' key schizofrenia
SIGINT for quitting should be enough for everybody.
2011-05-13 07:38:54 +02:00
Michael Niedermayer
72153419b5 Merge remote branch 'qatar/master'
* qatar/master: (33 commits)
  rtpdec_qdm2: Don't try to parse data packet if no configuration is received
  ac3enc: put the counting of stereo rematrixing bits in the same place to make the code easier to understand.
  ac3enc: clean up count_frame_bits() and count_frame_bits_fixed()
  mpegvideo: make FF_DEBUG_DCT_COEFF output coeffs via av_log() instead of just via AVFrame.
  srtdec: make sure we don't write past the end of buffer
  wmaenc: improve channel count and bitrate error handling in encode_init()
  matroskaenc: make sure we don't produce invalid file with no codec ID
  matroskadec: check that pointers were initialized before accessing them
  lavf: fix function name in compute_pkt_fields2 av_dlog message
  lavf: fix av_find_best_stream when providing a wanted stream.
  lavf: fix av_find_best_stream when decoder_ret is given and using a related stream.
  ffmpeg: factorize quality calculation
  tiff: add support for SamplesPerPixel tag in tiff_decode_tag()
  tiff: Prefer enum TiffCompr over int for TiffContext.compr.
  mov: Support edit list atom version 1.
  configure: Enable libpostproc automatically if GPL code is enabled.
  Cosmetics: fix prototypes in oggdec
  oggdec: fix memleak with continuous streams.
  matroskaenc: add missing new line in av_log() call
  dnxhdenc: add AVClass in private context.
  ...

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

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-13 04:40:40 +02:00
Michael Niedermayer
5da116a3fd ffmpeg: factorize quality calculation
Calculate quality value once per stream in print_report().
Also fix segfault, as coded_frame can be NULL.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-12 18:02:27 +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
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
Stefano Sabatini
3fd62c6e24 ffmpeg: call pre_process_video_frame() only if decoding is needed
In output_packet(), move the pre_process_video_frame() call inside the
if (ist->decoding_needed) { } block. This way
pre_process_video_frame() is not called when stream-copy has been
selected.

Also simplify.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-11 07:32:37 +02:00
Stefano Sabatini
2b95602e93 ffmpeg: reformat resample condition code in transcode()
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-11 07:32:37 +02:00
Stefano Sabatini
9aa797cd28 ffmpeg: factorize resampling condition check in do_video_out()
Simplify and improve readability.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-11 07:32:37 +02:00
Stefano Sabatini
c29c2eea8f ffmpeg: prefer "dec" over "ist->st->codec" in do_video_out() snippet
Simplify, ease readability.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-11 07:32:37 +02:00
Stefano Sabatini
2ecc5b70fb ffmpeg: improve reporting if size/pixel format changes
Use av_log() rather than fprintf(stderr, ...), and show information
related to the previous size/pixel format configuration.

Consistent with the corresponding message issued in case of audio
configuration change.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-11 07:32:36 +02:00
Stefano Sabatini
b568d6d94b ffmpeg: warns the user when the selected pixel format is ignored
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-11 07:32:36 +02: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
Robert Leatherwood
b5e089924f "Initialize" copy_tb like the other global variables. 2011-05-11 00:57:42 +02:00
Michael Niedermayer
eeaba924b7 ffmpeg: Fix -t with files that do not have any timestamps.
This for example fixes -t with some frext h264 reference streams.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-10 17:31:32 +02:00
Alexander Strange
cb48fdf67e ffmpeg: Simplify decode loop condition to not use next_pts
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-10 07:23:51 -04:00
Stefano Sabatini
bc97695af8 ffmpeg: remove unused fields AVOutputStream.original_width/height
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-10 07:17:52 +02:00
Stefano Sabatini
f38d900fb8 ffmpeg: remove unused variable padding_src in do_video_out()
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-10 07:17:39 +02:00
Michael Niedermayer
d1991f51f3 ffmpeg: fix negative verbosity.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-10 07:17:21 +02:00
Stefano Sabatini
0420bf09f7 ffmpeg: rename configure_filters() to configure_video_filters()
Mostly useful for the audio-filters branch, to make more apparent the
distinction between configure_audio_filters() and
configure_video_filters().

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-10 07:15:06 +02:00
Stefano Sabatini
5d2c6f42d7 cmdutils: remove list_fmts(), simplify
The function was only used in opt_sample_fmt() for listing the sample
formats. Move list_fmts() functionality directly into
opt_sample_fmt().

Also fix the warning:
ffmpeg.c: In function ‘opt_audio_sample_fmt’:
ffmpeg.c:2877: warning: passing argument 1 of ‘list_fmts’ from incompatible pointer type
cmdutils.h:163: note: expected ‘void (*)(char *, int,  int)’ but argument is of type ‘char * (*)(char *, int,  enum AVSampleFormat)’

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-10 07:14:13 +02:00
Takashi Mochizuki
c3e40410d4 Add missing CONFIG_AVFILTER check.
Fix configure --disable-avfilter issue.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-10 07:12:27 +02: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
Anton Khirnov
19615089a0 ffmpeg.c: reset avoptions after each input/output file.
This is consistent with how all the other options work.
2011-05-09 19:35:20 +02:00
Anton Khirnov
1435f2fa72 ffmpeg.c: store per-output stream sws flags. 2011-05-09 19:35:20 +02:00
Michael Niedermayer
6841c8c579 Merge remote branch 'qatar/master'
* qatar/master:
  log: Fix an oob array read.
  cosmetics: trim trailing whitespace in postproc
  Ban strncpy() it's too easy to misuse.
  psymodel: Remove wrapper functions.
  aacenc: Replace loop counters in aac_encode_frame() with more descriptive 'ch' and 'w'.
  regtest: remove redundant flags in jpg test
  regtest: use run_ffmpeg in do_image_formats
  regtest: simplify encoding functions
  ffmpeg.c: check for interlaced flag in the correct place.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-09 04:50:56 +02:00
Anton Khirnov
648e55ff1b ffmpeg.c: check for interlaced flag in the correct place.
In the corresponding codec context, not global options storage.
2011-05-08 10:43:24 +02:00
Stefano Sabatini
64c06615d2 vsrc_buffer: simplify av_vsrc_buffer_add_frame*() interface
Now that pix_fmt, width, and height are directly embedded in the AVFrame,
there is no need to pass these values as separate arguments.
2011-05-07 12:03:59 +02:00
Stefano Sabatini
2beac7c325 ffmpeg: rename ost->pict_tmp to ost->resample_frame
The new name is more consistent with the employed naming scheme, and
more meaningful.
2011-05-07 12:03:59 +02:00
Stefano Sabatini
04c373c1e9 ffmpeg: prefer dec/enc over ost/ist->st->codec in do_video_out()
Compact code, improve readability.
2011-05-07 12:03:58 +02:00
Stefano Sabatini
a851fa7fec ffmpeg: move resample_changed check within the #if !CONFIG_AVFILTER
The check and the corresponding message in do_video_out() are
unnecessary in the libavfilter path, as a similar check and message
are performed within the buffer source.
2011-05-07 12:03:58 +02:00
Stefano Sabatini
70c24b2171 ffmpeg: remove useless intermediary variable resample_dst in do_video_out() 2011-05-07 12:03:58 +02:00
Stefano Sabatini
f5a669c229 ffmpeg: simplify mid-stream reconfiguration when libavfilter is disabled
Implement lazy initialization of the image resample context, so that
the initialization code does not need to be duplicated.

Also manage the case in which resample/size change mid-stream. For
each packet the code computes if resampling is needed.

Previously the resample check was done only at the initialization, in
case size/format changed and no resample was detected at the init
stage ffmpeg was silently exiting.
2011-05-07 12:03:58 +02:00
Stefano Sabatini
566666caf3 lavfi: add libavfilter/avcodec.h and avfilter_copy_frame_props()
avfilter_copy_frame_props() avoids code duplication and increases
robustness.

The added files libavfilter/avcodec.[ch] are used for containing
utilities useful for gluing togheter libavfilter and libavcodec.
2011-05-07 12:03:49 +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
Alex Converse
1a5e4fd8c5 Replace strncpy() with av_strlcpy(). 2011-05-03 21:20:13 -07:00
Michael Niedermayer
707e8612e8 Merge remote branch 'qatar/master'
* qatar/master:
  Implement fate-rsync target
  Make ffmpeg support generic data stream

Conflicts:
	cmdutils.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-04 04:06:26 +02:00
Luca Barbato
e3b540b424 Make ffmpeg support generic data stream
The patch is the first step to support -dcodec copy
2011-05-03 11:51:55 +02:00
Michael Niedermayer
2525821f1a Merge remote branch 'qatar/master'
* qatar/master:
  vp8: frame-multithreading.
Duplicate  Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.
Duplicate  Replace deprecated av_get_pict_type_char() with av_get_picture_type_char().
Bug spoted&removed in last merge:  dpx: Do not use DPX encoder for decoding.

Conflicts:
	ffmpeg.c
	ffplay.c
	libavcodec/h264.c
	libavcodec/mpeg12.c
	libavcodec/mpeg4videodec.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo_enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-03 04:08:23 +02:00
Stefano Sabatini
ce5e49b0c2 replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_* 2011-05-02 16:41:41 +02:00
Stefano Sabatini
301183d9be replace deprecated av_get_pict_type_char() with av_get_picture_type_char() 2011-05-02 16:41:35 +02:00
Stefano Sabatini
975a1447f7 Replace deprecated FF_*_TYPE symbols with AV_PICTURE_TYPE_*.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-05-02 12:18:44 +02:00
Stefano Sabatini
6209669de4 Replace deprecated av_get_pict_type_char() with av_get_picture_type_char().
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-05-02 11:24:45 +02:00
Stefano Sabatini
35fe66abbc lavfi: rename AVFilterBufferRefVideoProps.pixel_aspect to sample_aspect_ratio
Improve consistency with libavcodec.

This breaks libavfilter API/ABI.

The non-sequential 2.1.0 -> 2.4.0 bump is due to the mess previously
done with the lavfi minor number.
2011-05-01 13:10:18 +02:00
Stefano Sabatini
77e9dee8ae lavc: add a sample_aspect_ratio field to AVFrame
The sample aspect ratio is a per-frame property, so it makes sense to
define it in AVFrame rather than in the codec/stream context.
Simplify application-level sample aspect ratio information extraction,
and allow further simplifications.
2011-05-01 13:10:06 +02:00
Michael Niedermayer
fa1195227f FFMPEG: support demuxer specific options.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-30 22:09:15 +02:00
Michael Niedermayer
7d727f1338 LAVFAPI: avformat_alloc_output_context() / simplify usage of muxers.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-30 22:09:15 +02:00
Michael Niedermayer
be315a3232 Merge remote branch 'qatar/master'
* qatar/master:
Duplicate  AMV: disable DR1 and don't override EMU_EDGE
Duplicate  lavf: inspect more frames for fps when container time base is coarse
Wrong and we have correct fix: Fix races in default av_log handler
  vorbis: Replace sized int_fast integer types with plain int/unsigned.
  Remove disabled non-optimized code variants.
NO  bswap.h: Remove disabled code.
  Remove some disabled printf debug cruft.
  Replace more disabled printf() calls by av_dlog().
NO  tests: Remove disabled code.
NO  Replace some commented-out debug printf() / av_log() messages with av_dlog().
  vorbisdec: Replace some sizeof(type) by sizeof(*variable).
NO  vf_fieldorder: Replace FFmpeg by Libav in license boilerplate.

Conflicts:
	libavcodec/h264.c
	libavcodec/vorbisdec.c
	libavutil/log.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-30 01:58:26 +02:00
Diego Biurrun
2e15305b70 Remove some disabled printf debug cruft. 2011-04-29 20:00:53 +02:00
Michael Niedermayer
0886267e3c Revert buggy hunk that leaked in from a libav merge.
This unbreaks compilation with --disable-avfilter.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-27 14:09:26 +02:00
Michael Niedermayer
d7e5aebae7 Merge remote branch 'qatar/master'
* qatar/master: (23 commits)
  ac3enc: correct the flipped sign in the ac3_fixed encoder
  Eliminate pointless '#if 1' statements without matching '#else'.
  Add AVX FFT implementation.
  Increase alignment of av_malloc() as needed by AVX ASM.
  Update x86inc.asm from x264 to allow AVX emulation using SSE and MMX.
  mjpeg: Detect overreads in mjpeg_decode_scan() and error out.
  documentation: extend documentation for ffmpeg -aspect option
  APIChanges: update commit hashes for recent additions.
  lavc: deprecate FF_*_TYPE macros in favor of AV_PICTURE_TYPE_* enums
  aac: add headers needed for log2f()
  lavc: remove FF_API_MB_Q cruft
  lavc: remove FF_API_RATE_EMU cruft
  lavc: remove FF_API_HURRY_UP cruft
  pad: make the filter parametric
  vsrc_movie: add key_frame and pict_type.
  vsrc_movie: fix leak in request_frame()
  lavfi: add key_frame and pict_type to AVFilterBufferRefVideo.
  vsrc_buffer: add sample_aspect_ratio fields to arguments.
  lavfi: add fieldorder filter
  scale: make the filter parametric
  ...

Conflicts:
	Changelog
	doc/filters.texi
	ffmpeg.c
	libavcodec/ac3dec.h
	libavcodec/dsputil.c
	libavfilter/avfilter.h
	libavfilter/vf_scale.c
	libavfilter/vf_yadif.c
	libavfilter/vsrc_buffer.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-27 03:51:04 +02:00
Michael Niedermayer
a38cdfde52 vsrc_buffer: Set output size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-26 18:16:48 +02:00
Michael Niedermayer
7a11c82fb7 vsrc_buffer: add sample_aspect_ratio fields to arguments.
This fixes aspect handling in ffmpeg.

This is based on a patch by Baptiste.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 07:38:24 +02:00
Michael Niedermayer
7b376b398a Merge remote branch 'qatar/master'
* qatar/master:
  Handle unicode file names on windows
  rtp: Rename the open/close functions to alloc/free
  Lowercase all ff* program names.
  Refer to ff* tools by their lowercase names.
NOT Pulled  Replace more FFmpeg instances by Libav or ffmpeg.
  Replace `` by $() syntax in shell scripts.
  patcheck: Allow overiding grep program(s) through environment variables.
NOT Pulled  Remove stray libavcore and _g binary references.
  vorbis: Rename decoder/encoder files to follow general file naming scheme.
  aacenc: Fix whitespace after last commit.
  cook: Fix small typo in av_log_ask_for_sample message.
  aacenc: Finish 3GPP psymodel analysis for non mid/side cases.
  Remove RDFT dependency from AAC decoder.
  Add some debug log messages to AAC extradata
  Fix mov debug (u)int64_t format strings.
  bswap: use native types for av_bwap16().
  doc: FLV muxing is supported.
  applehttp: Handle AES-128 encrypted streams
  Add a protocol handler for AES CBC decryption with PKCS7 padding
  doc: Mention that DragonFly BSD requires __BSD_VISIBLE set

Conflicts:
	ffplay.c
	ffprobe.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-24 03:41:22 +02:00
Diego Biurrun
89b503b55f Lowercase all ff* program names. 2011-04-23 19:12:24 +02:00
Carl Eugen Hoyos
3c483620c9 Cosmetics: Rename variable daemon as run_as_daemon.
daemon() is defined in unistd.h for BSD and Cygwin.
2011-04-22 18:49:44 +02:00
Michael Niedermayer
8772156be0 Merge remote branch 'qatar/master'
* qatar/master:
  APIChanges: document git revision for CODEC_CAP_SLICE_THREADS addition.
  Introduce slice threads flag.
  FATE: allow forcing thread-type when doing threaded fate runs.
  Use av_log_ask_for_sample() where appropriate.
  error: sort, pack, and align error code and string definitions
  The stabilization period after version bumps should be one month, not one week.
  applehttp: Expose the stream bitrate via metadata
  doc: Add some initial docs on the applehttp demuxer
  Provide a fallback version of the libm function trunc
  libavdevice: Define _XOPEN_SOURCE for usleep
  lavc: provide deprecated avcodec_thread_init until next major version
  lavc: provide the opt.h header until the next bump
  error: change AVERROR_EOF value
  error: remove AVERROR_NUMEXPECTED
  error: add error code AVERROR_OPTION_NOT_FOUND, and use it in opt.c

Conflicts:
	libavcodec/h264.c
	libavutil/error.c
	libavutil/error.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-22 03:54:30 +02:00
Stefano Sabatini
7046b63e69 ffmpeg: call pre_process_video_frame() only if decoding is needed
In output_packet(), move the pre_process_video_frame() call inside the
if (ist->decoding_needed) { } block. This way
pre_process_video_frame() is not called when stream-copy has been
selected.

Also simplify.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-21 12:08:42 +02:00
Stefano Sabatini
79157f400b error: remove AVERROR_NUMEXPECTED
AVERROR_NUMEXPECTED is used only in the image muxer and demuxer, and
has a too much specific meaning, which is better explained through a
log message. Thus it can be replaced by AVERROR(EINVAL).

This breaks API.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-21 07:10:16 +02:00
Baptiste Coudurier
2c18893a91 In libx264 wrapper, correctly support 2pass log filename option. 2011-04-20 15:46:40 -07:00
Michael Niedermayer
efb5fa79f5 Merge remote branch 'qatar/master'
* qatar/master: (37 commits)
  In avcodec_open(), set return code to an error value only when an error occurs instead of unconditionally at the start of the function.
  lavc: remove reference to opt.h from Makefile.
  prefer avio_check() over url_exist()
  avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbols
  lavu: remove misc disabled cruft
  lavu: remove FF_API_OLD_IMAGE_NAMES cruft
NOT PULLED  lavu: remove FF_API_OLD_EVAL_NAMES cruft
  lavc: remove misc disabled cruft.
  lavc: remove the FF_API_INOFFICIAL cruft.
  lavc: remove the FF_API_SET_STRING_OLD cruft.
  lavc: remove the FF_API_USE_LPC cruft.
  lavc: remove the FF_API_SUBTITLE_OLD cruft.
  lavc: remove the FF_API_VIDEO_OLD cruft.
  lavc: remove the FF_API_AUDIO_OLD cruft.
  lavc: remove the FF_API_OPT_SHOW cruft.
  lavc: remove the FF_API_MM_FLAGS cruft.
  lavf: remove misc disabled cruft.
  lavf: remove FF_API_INDEX_BUILT cruft
  lavf: remove FF_API_URL_CLASS cruft.
  lavf: remove FF_API_SYMVER cruft
  ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-20 04:48:23 +02:00
Stefano Sabatini
55815edca0 prefer avio_check() over url_exist()
The problem with url_exist() is that it tries to open a resource in
RDONLY mode. If the file is a FIFO and there is already a reading
client, the open() call will hang.

By using avio_check() with access mode of 0, the second reading
process will check if the file exists without attempting to open it,
thus avoiding the lock.

Fix issue #1663.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-19 19:48:07 +02:00
Stefano Sabatini
59d96941f0 avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbols
Make AVIO_FLAG_ access constants work as flags, and in particular fix
the behavior of functions (such as avio_check()) which expect them to
be flags rather than modes.

This breaks API.
2011-04-19 19:47:58 +02:00
Anton Khirnov
41d0eb1c81 lavc: remove the FF_API_SET_STRING_OLD cruft. 2011-04-19 18:41:00 +02:00
Anton Khirnov
761ad42968 lavf: remove FF_API_MAX_STREAMS cruft 2011-04-19 18:28:38 +02:00
Stefano Sabatini
c438c90756 ffmpeg: reformat resample condition code in transcode()
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-19 12:23:59 +02:00
Stefano Sabatini
0f230c53df ffmpeg: factorize resampling condition check in do_video_out()
Simplify and improve readability.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-19 12:23:59 +02:00
Stefano Sabatini
6a46aab49b ffmpeg: prefer "dec" over "ist->st->codec" in do_video_out() snippet
Simplify, ease readability.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-19 12:23:59 +02:00
Stefano Sabatini
dfc6f5ae90 ffmpeg: improve reporting if size/pixel format changes
Use av_log() rather than fprintf(stderr, ...), and show information
related to the previous size/pixel format configuration.

Consistent with the corresponding message issued in case of audio
configuration change.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-19 12:23:58 +02:00
Stefano Sabatini
58bc9ac5cb ffmpeg: remove unused fields AVOutputStream.original_width/height
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-19 12:23:58 +02:00
Stefano Sabatini
b0b83973d1 ffmpeg: remove unused variable padding_src in do_video_out()
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-19 12:23:47 +02:00
Michael Niedermayer
39aafa5ee9 ffmpeg:Daemon mode, add -d as first option to try it.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-19 01:54:58 +02:00
Michael Niedermayer
17ee7b5515 ffmpeg:Fix negative verbositiy
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-19 01:54:58 +02:00
Baptiste Coudurier
abf8342aa9 ffmpeg: fix -aspect cli option
Redesign the way -aspect option is handled. This is done by making
ffmpeg read the sample aspect ratio set in the corresponding input
stream by default, and overriding it using the value specified by
-aspect.

If the output display aspect ratio is specified with -aspect, it is
set at the end of the filterchain, thus overriding the value set by
filters in the filterchain.

This implementation is more robust, since does not modify the
filterchain description (which was creating potential syntax errors).
2011-04-16 16:47:26 -07:00
Stefano Sabatini
bdf3d3bf9d ffmpeg: use parse_number_and_die() when it makes sense
Prefer parse_number_or_die() over atoi()/atol() parsing for the options:
-pass, -top, -vc, and -qscale.

Improve input validation.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-16 21:47:06 +02:00
Stefano Sabatini
5381823eb6 ffmpeg: rename configure_filters() to configure_video_filters()
Mostly useful for the audio-filters branch, to make more apparent the
distinction between configure_audio_filters() and
configure_video_filters().

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-11 00:14:55 +02:00
Lou Logan
f8de11cf7d Redefine sameq
I think the documentation of sameq is causing confusion and misuse of
this option.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-10 09:27:50 +02:00
Michael Niedermayer
d4d09329ee Merge remote branch 'qatar/master'
* qatar/master:
  lavf: bump minor and add an APIChanges entry for avformat cleanup
  lavf: get rid of ffm-specific stuff in avformat.h
Not pulled:  avio: deprecate av_protocol_next().
  avio: add a function for iterating though protocol names.
  lavf: rename a parameter of av_sdp_create from buff->buf
  lavf: rename avf_sdp_create to av_sdp_create.
  lavf: make av_guess_image2_codec internal
  avio: make URLProtocol internal.
  avio: make URLContext internal.
  lavf: mark av_pkt_dump(_log) for remove on $next+1 bump.
  lavf: use designated initializers for all protocols
  applehttp: don't use deprecated url_ functions.
  avio: move two ff_udp_* functions from avio_internal to url.h
  asfdec: remove a forgotten declaration of nonexistent function
  avio: deprecate the typedef for URLInterruptCB

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-09 03:17:07 +02:00