Commit Graph

1606 Commits

Author SHA1 Message Date
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
Anton Khirnov
3ee53dabcf lavf: get rid of ffm-specific stuff in avformat.h 2011-04-08 20:58:19 +02:00
Anton Khirnov
c3675dfe1e lavf: rename avf_sdp_create to av_sdp_create.
The new name is more consistent with the rest of the API.
2011-04-08 16:45:40 +02:00
Michael Niedermayer
c88caa522c Merge remote branch 'qatar/master'
* qatar/master:
  proto: include os_support.h in network.h
  matroskaenc: don't write an empty Cues element.
  lavc: add a FF_API_REQUEST_CHANNELS deprecation macro
  avio: move extern url_interrupt_cb declaration from avio.h to url.h
  avio: make av_register_protocol2 internal.
  avio: avio_ prefix for url_set_interrupt_cb.
  avio: AVIO_ prefixes for URL_ open flags.
  proto: introduce listen option in tcp
  doc: clarify configure features
  proto: factor ff_network_wait_fd and use it on udp

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-08 02:50:13 +02:00
Anton Khirnov
80c6e238b0 avio: avio_ prefix for url_set_interrupt_cb. 2011-04-07 18:11:24 +02:00
Anton Khirnov
f87b1b373a avio: AVIO_ prefixes for URL_ open flags. 2011-04-07 18:07:16 +02:00
Michael Niedermayer
6b1c886b65 Fix ticket20
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-06 23:21:44 +02:00
Michael Niedermayer
d6c858658f Revert "ffmpeg: fix aspect ratio setting"
This reverts commit d1eb50bb29.
Reason, it breaks fate
2011-04-06 03:01:25 +02:00
Michael Niedermayer
11d78415ca Merge remote branch 'qatar/master'
* qatar/master:
  psymodel: extend API to include PE and bit allocation.
  avio: always compile dyn_buf functions
  Remove unnecessary parameter from ff_thread_init() and fix behavior
  Revert "aac_latm_dec: use aac context and aac m4ac"
  configure: tell user if libva is enabled like the rest of external libs.
  Add silence support for AV_SAMPLE_FMT_U8.
  avio: make URL_PROTOCOL_FLAG_NESTED_SCHEME internal
  avio: deprecate av_url_read_seek
  avio: deprecate av_url_read_pause
  ac3enc: NEON optimised extract_exponents

Conflicts:
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-06 02:59:49 +02:00
Michael Niedermayer
b5ef6f8eb4 Fix crash in ffmpeg.c with PIX_FMT_NONE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-06 01:09:04 +02:00
Stefano Sabatini
d1eb50bb29 ffmpeg: fix aspect ratio setting
This is done by adding a setsar filter at the beginning of the
configured filterchain.

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

This also changes the ffmpeg -aspect behavior, as following filters in
the filterchain can change the DAR/SAR set by the inserted setsar
filter.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-05 15:33:38 +02:00
Alex Converse
14cf0fd2f5 Add silence support for AV_SAMPLE_FMT_U8.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-05 09:08:04 +02:00
Lou Logan
8af3167bb6 Redefine sameq
I think the documentation of sameq is causing confusion and misuse of
this option.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-05 03:21:36 +02:00
Peter Ross
100a6b7c77 ffmpeg: make 'bits_per_raw_sample' option more useful
Currently bits_per_raw_sample is exposed as an AVCodecContext option.
The option is not very useful, because ffmpeg 1) overwrites it with
a value from the upstream codec, or 2) it resets the value whenever
the video is resampled.

This patch adds the -bits_per_raw sample option to FFmpeg, and
caches the value like is done for the -pix_fmt option.

Example usage:
ffmpeg v210.avi -pix_fmt rgb48 -bits_per_raw_sample 10 out%d.dpx

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-04 00:35:58 +02:00
Michael Niedermayer
7d948dc424 Support changing pixel formats on avfilter input.
Fix issue2217
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-03 16:40:12 +02:00
Michael Niedermayer
b25d931a82 Fix stream mapping regression
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-02 16:15:16 +02:00
Michael Niedermayer
e7c7b0d000 Another aspect ratio fix try. This leaves the setdar addition at the end (preferred by people).
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-01 17:38:29 +02:00
Peter Ross
6408529b5d Increase ffmpeg video encoding buffer size to permit encoding of DPX images
The header generated by the DPX encoder is 1664 bytes.
2011-04-01 23:11:54 +11:00
Michael Niedermayer
859676dd42 Insert setdar at the begin of a filter chain instead the end.
This fixes -vf setsar

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-01 02:14:46 +02:00
Michael Niedermayer
8b8bf89e52 Revert "Do no modify terminal parameters using termios.h"
This reverts commit cb48e245e6.

Reason being we like pressing "q" to quit ffmpeg.

Conflicts:

	ffmpeg.c

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-31 00:22:29 +02:00
Stefano Sabatini
2ee85c0671 ffmpeg: warns the user when the selected pixel format is ignored 2011-03-27 15:53:45 +02:00
Stefano Sabatini
0c55c6d30e 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().

Als 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)’
2011-03-26 14:40:30 +01:00
Michael Niedermayer
27ef7b1bcd Merge remote-tracking branch 'newdev/master'
* newdev/master:
  mov: set audio service type for AC-3 from bitstream mode in the 'dac3' atom.
  Get audio_service_type for AC-3 based on bitstream mode in the AC-3 parser and decoder, and vice-versa for the AC-3 encoder.
  Use audio_service_type to set stream disposition.
  Add APIchanges entry for audio_service_type.
  Add audio_service_type field to AVCodecContext for encoding and reporting of the service type in the audio bitstream.
  configure: in check_ld, place new -l flags before existing ones
  support @heading, @subheading, @subsubheading, and @subsubsection in texi2pod.pl
  doc: update build system documentation
  aacenc: indentation
  aacenc: fix the side calculation in search_for_ms
  vp8.c: rename EDGE_* to VP8_EDGE_*.

Conflicts:
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/version.h
	libavcodec/vp8.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-26 03:06:30 +01:00
Justin Ruggles
34b47d7cbc Add audio_service_type field to AVCodecContext for encoding and reporting
of the service type in the audio bitstream.
2011-03-25 16:51:53 -04:00
Stefano Sabatini
4ffc79e7a0 ffmpeg: include conditionally the sws_flags variable
The variable is not used when libavfilter is enabled.
Fix the warning:
ffmpeg.c: At top level:
ffmpeg.c:242: warning: ‘sws_flags’ defined but not used
2011-03-25 18:42:51 +01:00
Michael Niedermayer
6dfb4ab8c8 Make multiple Ctrl-C capable to kill stuck protocols.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-25 02:26:49 +01:00
Michael Niedermayer
4fa0e24736 Merge remote-tracking branch 'newdev/master'
* newdev/master: (33 commits)
  Fix an infinite loop when RoQ encoded generated a frame with a size greater than the maximum valid size.
  Add kbdwin.o to AC3 decoder
  Detect byte-swapped AC-3 and support decoding it directly.
  cosmetics: indentation
  Always copy input data for AC3 decoder.
  ac3enc: make sym_quant() branch-free
  cosmetics: indentation
  Add a CPU flag for the Atom processor.
  id3v2: skip broken tags with invalid size
  id3v2: don't explicitly skip padding
  Make sure kbhit() is in conio.h
  fate: update wmv8-drm reference
  vc1: make P-frame deblock filter bit-exact.
  configure: Add the -D parameter to the dlltool command
  amr: Set the AVFMT_GENERIC_INDEX flag
  amr: Set the pkt->pos field properly to the start of the packet
  amr: Set the codec->bit_rate field based on the last packet
  rtsp: Specify unicast for TCP interleaved streams, too
  Set the correct target for mingw64 dlltool
  applehttp: Change the variable for stream position in seconds into int64_t
  ...

Conflicts:
	ffmpeg.c
	ffplay.c
	libavcodec/ac3dec.c
	libavformat/avio.h
	libavformat/id3v2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-23 02:42:56 +01:00
Dave Yeo
b58b9fa3b5 Make sure kbhit() is in conio.h
Conio.h is a non-standard header and may not have kbhit()
prototyped. This fixes compile on OS/2 where the EMX version (we're
using a fork) of conio.h only has getch() and getche().

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-22 11:07:46 +00:00
Michael Niedermayer
d4a50a2100 Merge remote-tracking branch 'newdev/master'
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-21 03:33:28 +01:00
Panagiotis H.M. Issaris
cb48e245e6 Do no modify terminal parameters using termios.h
Remove usage of tcgetattr and tcsetattr to modify terminal
parameters, and rely on ctrl-c to stop instead of pressing 'q'.
On systems with conio.h, keep the old behavior.

Changing the terminal settings causes problems if multiple instances
are running asynchronously on the same terminal, such as during a
parallel FATE run, or if the process crashes before restoring the
terminal.  In both cases, the terminal state is messed up requiring
a manual reset.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-20 21:13:26 +00:00
Stefano Sabatini
17a4ec8e7e ffmpeg: modify help text for the map option
Change "file:stream[:syncfile:syncstream]" to
"file.stream[:syncfile.syncstream]", the latter syntax is more
consistent with the stream identifier form printed by
av_dump_format(), and more readable. Both syntaxes are currently
accepted by the opt_map() code.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-03-20 21:07:03 +01:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Thierry Foucu
a7844c580d Fix compilation error when CONFIG_AVFILTER is not defined.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-17 01:35:08 +01:00
Michael Niedermayer
27efa296c2 Merge branch 'master' of git://git.ffmpeg.org/ffmpeg
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-12 17:55:59 +01:00
Stefano Sabatini
5dbe78bf91 ffmpeg: remove unused variable in ffmpeg_exit()
Fix the warning:
ffmpeg.c: In function ‘ffmpeg_exit’:
ffmpeg.c:509: warning: unused variable ‘j’

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-12 14:08:27 +00:00
Carl Eugen Hoyos
0de8ebf491 Do not use AVFMT_FLAG_NONBLOCK for the output file.
Allows to use output device alsa.
2011-03-08 20:45:26 +01:00
Anton Khirnov
db44ea960d avio: avio_ prefix for url_fsize
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 76aa876e69)
2011-03-08 02:09:21 +01:00
Michael Niedermayer
8993b5969a Make sure the first q press doesnt f*ck up the protocols and thus written files.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-07 17:25:38 +01:00
Michael Niedermayer
9055240761 Fix seting of decode_interrupt_cb()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-07 17:23:32 +01:00
Anton Khirnov
76aa876e69 avio: avio_ prefix for url_fsize
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-07 11:03:39 -05:00
Anton Khirnov
384c9c2fa7 avio: add avio_tell macro as a replacement for url_ftell
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit a2704c9712)
2011-03-05 02:29:31 +01:00
Anton Khirnov
a2704c9712 avio: add avio_tell macro as a replacement for url_ftell
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-04 11:26:57 -05:00
Martin Storsjö
d34ffd3ce9 ffmpeg: Use av_pkt_dump_log2
This makes dumped packet timestamps proper for streams with
timebases other than AV_TIME_BASE.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 5e33e7bdac)
2011-03-03 14:15:11 +01:00
Martin Storsjö
5e33e7bdac ffmpeg: Use av_pkt_dump_log2
This makes dumped packet timestamps proper for streams with
timebases other than AV_TIME_BASE.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-03-02 11:29:38 +01:00
Anton Khirnov
ebb92e0768 avio: rename url_fopen/fclose -> avio_open/close.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 22a3212e32)
2011-02-23 18:22:03 +01:00
Anton Khirnov
22a3212e32 avio: rename url_fopen/fclose -> avio_open/close.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-23 10:18:55 -05:00
Michael Niedermayer
5c20c81bfa Fix issue2619.
regression introduced in 1762d9ced7

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-02-19 17:31:10 +01:00
Anton Khirnov
0ebf475494 lavf: add av_ prefix to dump_format()
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 610219a598)
2011-02-18 19:52:28 +01:00
Anton Khirnov
610219a598 lavf: add av_ prefix to dump_format()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-16 23:39:56 +00:00
Reinhard Tartler
7ffe76e540 Merge libavcore into libavutil
Done to keep ABI compatible. Otherwise this is just silly
2011-02-16 23:00:30 +01:00
Reinhard Tartler
737eb5976f Merge libavcore into libavutil
It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-02-15 16:18:21 +01:00
Michael Niedermayer
1762d9ced7 Restructure video filter implemenattion in ffmpeg.c.
This fixes several bugs like multiple outputs and -aspect mixed with -vf

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-02-14 23:03:13 +01:00
Alexander Strange
043d2ff267 Deprecate avcodec_thread_init()
As a side effect of the last commit, avcodec_open() now calls it automatically,
so there is no longer any need for clients to call it.
Instead they should set AVCodecContext.thread_count.

avcodec_thread_free() is deprecated, and will be removed from avcodec.h at the
next MAJOR libavcodec bump.

Rename the functions to ff_thread_init/free, since they are now internal.
Wrappers are provided to maintain API compatibility.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit c0b102ca03)
2011-02-11 02:54:08 +01:00
Alexander Strange
c0b102ca03 Deprecate avcodec_thread_init()
As a side effect of the last commit, avcodec_open() now calls it automatically,
so there is no longer any need for clients to call it.
Instead they should set AVCodecContext.thread_count.

avcodec_thread_free() is deprecated, and will be removed from avcodec.h at the
next MAJOR libavcodec bump.

Rename the functions to ff_thread_init/free, since they are now internal.
Wrappers are provided to maintain API compatibility.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-09 09:17:28 -05:00
Nicolas George
76ad67cae7 Implement guessed_pts in avcodec_decode_video2
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-02-07 19:32:07 +01:00
James Zern
ba3517aa6f cmdutils: fix opt_values leak
Add free to uninit_opts and relocate opt_names to same

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 3a6a9cdf5b)
2011-02-06 20:31:45 +01:00
Alexander Strange
fd0ae17aaf Adopt pkt_dts/pkt_pts in lavc clients
No behavior change; this makes DTS reliable with the next patch.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 6b47495397)
2011-02-06 20:31:45 +01:00
Martin Storsjö
42f97696ae Use avformat_free_context for cleaning up muxers
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit b22dbb291d)
2011-02-06 20:31:45 +01:00
Stefano Sabatini
ab543afe47 Make avfilter_graph_free() free the graph.
Make avfilter_graph_free() free not only the internal structures, but
also the allocated graph, and set the graph pointer to NULL for
increased safety.

Simplify usage.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 4359288c56)
2011-02-06 20:31:42 +01:00
James Zern
3a6a9cdf5b cmdutils: fix opt_values leak
Add free to uninit_opts and relocate opt_names to same

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-05 17:18:45 -05:00
Alexander Strange
6b47495397 Adopt pkt_dts/pkt_pts in lavc clients
No behavior change; this makes DTS reliable with the next patch.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-05 16:37:43 -05:00
Martin Storsjö
b22dbb291d Use avformat_free_context for cleaning up muxers
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-04 11:39:55 -05:00
Stefano Sabatini
4359288c56 Make avfilter_graph_free() free the graph.
Make avfilter_graph_free() free not only the internal structures, but
also the allocated graph, and set the graph pointer to NULL for
increased safety.

Simplify usage.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-04 02:55:11 +00:00
Anton Khirnov
4a908866a1 ffmpeg.c: rename map_meta_data option to map_metadata
It's consistent with the -metadata option and easier to write.

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 87e4d9b252)
2011-02-04 03:10:09 +01:00
Anton Khirnov
87e4d9b252 ffmpeg.c: rename map_meta_data option to map_metadata
It's consistent with the -metadata option and easier to write.

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-02 22:44:37 +01:00
Michael Niedermayer
7b3ea5507c Add sample_aspect_ratio fields to vsrc_buffer arguments.
This fixes aspect handling in ffmpeg
This is based on a patch by baptiste
2011-01-31 21:32:06 +01:00
Stefano Sabatini
5a8d1075ec Make ffmpeg warns the user when the selected sample format is ignored.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit fa34a3626c)
2011-01-31 18:25:46 +01:00
Stefano Sabatini
fa34a3626c Make ffmpeg warns the user when the selected sample format is ignored.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-31 12:55:38 +00:00
Diego Elio Pettenò
41727b8522 Make local variables static.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit a6d1bd05c9)
2011-01-26 03:43:29 +01:00
Stefano Sabatini
0f16f72552 Do not set audio_resample to 0 if audio_sync_method is > 1.
If audio_sync_method is >1 the resampler is used for audio drift
compensation, and do_audio_out() was causing an assert failure because
audio_resample was not set.

Fix issue 2516, which was introduced by SVN r25939.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 07b48f8c7a)
2011-01-26 03:43:28 +01:00
Diego Elio Pettenò
a6d1bd05c9 Make local variables static.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-25 00:02:41 +00:00
Stefano Sabatini
07b48f8c7a Do not set audio_resample to 0 if audio_sync_method is > 1.
If audio_sync_method is >1 the resampler is used for audio drift
compensation, and do_audio_out() was causing an assert failure because
audio_resample was not set.

Fix issue 2516, which was introduced by SVN r25939.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-24 17:30:33 +00:00
Mike Scheutzow
ba0dd9e8ff streamid does not work with newaudio, newvideo, newsubtitle
fixes issue2465.

The problem is that the ffmpeg (the app) -streamid option did not work
with -newaudio/-newvideo/-newsubtitle.

The cause was a conflict between the feature where streamid values were
reset to default for each output filename, and the implementation of
-new*, which requires that the -new* option be specified after the
target filename.

My patch changes the ffmpeg behavior so that user-specified streamid
values apply to all the following output files on the command line
(rather than just the next output filename.)

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 20ac9de3df)
2011-01-23 19:32:07 +01:00
Mike Scheutzow
20ac9de3df streamid does not work with newaudio, newvideo, newsubtitle
fixes issue2465.

The problem is that the ffmpeg (the app) -streamid option did not work
with -newaudio/-newvideo/-newsubtitle.

The cause was a conflict between the feature where streamid values were
reset to default for each output filename, and the implementation of
-new*, which requires that the -new* option be specified after the
target filename.

My patch changes the ffmpeg behavior so that user-specified streamid
values apply to all the following output files on the command line
(rather than just the next output filename.)

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-22 04:10:22 +01:00
Michael Niedermayer
59e2118e97 Update threshold to detect real timebase for stream copy.
This may fix a bug where quicktime files use 1/600 timebase.
2011-01-18 16:04:33 +01:00
Michael Niedermayer
d9c3e5f6d8 Feed the filter chain with the sample aspect ratio from the muxer or codec layer
like it has been done prior libavfilter.
2011-01-17 23:22:42 +01:00
Baptiste Coudurier
0f27e6b4c2 New "copytb" ffmpeg cli option to copy input stream time base when stream copying.
This should avoid non monotone timestamps for video streams with vfr.

Originally committed as revision 26340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-14 22:01:49 +00:00
Stefano Sabatini
6c18f1cda2 Make opt_audio_sample_fmt() abort in case of invalid sample format
name.

Originally committed as revision 26335 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-14 20:58:51 +00:00
Ronald S. Bultje
8e8a3cc221 Reindent after 26330.
Originally committed as revision 26331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-14 19:31:20 +00:00
Ronald S. Bultje
7f88a5bf9b Introduce av_metadata_copy() to copy metadata from one struct to another.
Originally committed as revision 26330 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-14 19:30:55 +00:00
Baptiste Coudurier
8a774d3deb Do not allocate unused swscale context when libavfilter is compiled in
Originally committed as revision 26317 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-12 00:52:47 +00:00
Baptiste Coudurier
4618637aca Fix warnings:
ffmpeg.c: In function ‘new_video_stream’:
ffmpeg.c:3701:18: warning: ‘codec_id’ may be used uninitialized in this function
ffmpeg.c: In function ‘new_audio_stream’:
ffmpeg.c:3848:18: warning: ‘codec_id’ may be used uninitialized in this function
ffmpeg.c: In function ‘new_subtitle_stream’:
ffmpeg.c:3926:18: warning: ‘codec_id’ may be used uninitialized in this function

Originally committed as revision 26313 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-11 21:16:00 +00:00
Baptiste Coudurier
c961fb3cbb Change 'arg' type in parse_meta_type, fix warning:
ffmpeg.c: In function ‘parse_meta_type’:
ffmpeg.c:3323:13: warning: assignment discards qualifiers from pointer target type

Originally committed as revision 26312 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-11 21:14:11 +00:00
Anatoly Nenashev
ee77f986a2 Fix lowres > 0 with --enable-avfilter..
Fixes issue 2072 and issue 2421.

Patch by Anatoly Nenashev, anatoly d nenashev a ovsoft d ru

Originally committed as revision 26252 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-07 10:16:00 +00:00
Michael Niedermayer
b26847b710 Fix/cleanup m/ljpeg encoding pix fmt selection code in ffmpeg.c.
Better ideas are welcome ...

Originally committed as revision 26219 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-05 04:52:32 +00:00
Anssi Hannula
ef2b2243dc Use AVOption for muxers in ffmpeg.
Patch by Anssi Hannula, anssi d hannula d iki d fi

Originally committed as revision 26199 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-02 16:00:47 +00:00
Aurelien Jacobs
1d6233d315 use avsubtitle_free() instead of re-implementing it partially (fix a memleak)
Originally committed as revision 26175 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-31 00:01:37 +00:00
Anton Khirnov
bb62d5c1f0 Allow output formats without any streams.
Required for future metadata format.

Originally committed as revision 26100 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-27 07:46:44 +00:00
Stefano Sabatini
f671584845 Reindent.
Originally committed as revision 25940 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-12 16:19:40 +00:00
Stefano Sabatini
8afab68605 Fix encoding when the input audio format/rate/channels changes during
transcoding.

Fix issue #2292.

Patch sponsored by KIM Keep In Mind GmbH, srl.

Originally committed as revision 25939 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-12 16:18:50 +00:00
Justin Ruggles
5d7870dc76 Show per-codec options on FFmpeg commandline help.
Originally committed as revision 25927 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-10 18:25:02 +00:00
Aurelien Jacobs
d4a9f37938 cosmetic: indentation
Originally committed as revision 25885 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-04 14:47:13 +00:00
Aurelien Jacobs
118ccae030 add subtitle codec autodetection
Originally committed as revision 25884 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-04 14:46:13 +00:00
Stefano Sabatini
037be76e15 Add avfilter_graph_create_filter().
Originally committed as revision 25862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-02 20:12:27 +00:00
Anton Khirnov
477b1aeac9 ffmpeg.c: copy global metadata by default
Originally committed as revision 25794 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-22 07:32:23 +00:00
Stefano Sabatini
63e8d9760f Use the new libavcore audio channel API.
This also allows to remove a linking dependency of libavfilter on
libavcodec.

Originally committed as revision 25789 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-21 20:06:22 +00:00
Baptiste Coudurier
7f48bfa1e3 Cosmetics, fix indentation
Originally committed as revision 25773 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-20 08:03:58 +00:00
Aurelien Jacobs
cb2c971d91 allow passing subtitles header between decoder and encoder
Originally committed as revision 25745 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-13 13:57:49 +00:00
Aurelien Jacobs
8f55616fac add global header support for subtitles encoding
Originally committed as revision 25742 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-13 13:46:36 +00:00
Stefano Sabatini
5d6e4c160a Replace deprecated symbols SAMPLE_FMT_* with AV_SAMPLE_FMT_*, and enum
SampleFormat with AVSampleFormat.

Originally committed as revision 25730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-12 11:04:40 +00:00
Anton Khirnov
09f47fa44e ffmpeg.c: add a forgotten break in chapter copying
only copy chapters from one file

Originally committed as revision 25729 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-12 06:56:26 +00:00
Anton Khirnov
a9c2bf9dc1 ffmpeg.c: reindent
Originally committed as revision 25728 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-12 06:56:23 +00:00
Anton Khirnov
91e96ebafb ffmpeg.c: add an option for copying chapters
fixes issue 2068

Originally committed as revision 25727 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-12 06:56:19 +00:00
Anton Khirnov
7b3937360e ffmpeg.c: allow using negative file indices to disable metadata copying
Originally committed as revision 25706 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-08 06:47:41 +00:00
Stefano Sabatini
1e80a0eaa4 Remove graphparser.h header, move AVFilterInOut and
avfilter_graph_parse() declaration to libavfilter/avfiltergraph.h.

Simplify, and less confusing for the user.

Originally committed as revision 25705 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 22:56:29 +00:00
Stefano Sabatini
7313132bcc Rename AVFilterInOut field filter to filter_ctx, more semantically correct.
Originally committed as revision 25700 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 18:40:18 +00:00
Stefano Sabatini
6e872935db Implement get_preset_file() in cmdutils.h and use it to factorize code
from ffmpeg.c and ffserver.c.

Originally committed as revision 25679 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-04 23:07:04 +00:00
Stefano Sabatini
97dd1e4a87 Rename avfilter_graph_destroy() to avfilter_graph_free().
The new name is shorter and more consistent with the rest of the API.

This change breaks libavfilter API/ABI.

Originally committed as revision 25674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-04 20:34:24 +00:00
Stefano Sabatini
e15aeea656 Implement avfilter_graph_alloc().
Originally committed as revision 25673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-04 20:34:19 +00:00
Stefano Sabatini
ba7d6e798e Remove usage of deprecated libavcodec/audioconvert.h functions.
Originally committed as revision 25668 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-03 20:19:34 +00:00
Stefano Sabatini
da1b9b88a5 Fix timestamp computation when the timebase changes during filtering.
The timestamps for all the buffered frames are scaled against
AV_TIME_BASE_Q, and need to be scaled back to AV_TIME_BASE_Q when they
are extracted from the filterchain.

Originally committed as revision 25646 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-02 18:40:59 +00:00
Anton Khirnov
45290fcdf0 ffmpeg.c: reindent
Originally committed as revision 25637 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-02 06:12:56 +00:00
Anton Khirnov
d0abe80aa4 ffmpeg.c: don't autocopy stream/chapter metadata if manual mapping is specified
Originally committed as revision 25636 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-02 06:12:54 +00:00
Anton Khirnov
1829e19528 ffmpeg.c: extend map_meta_data to allow advanced mappings
i.e. to/from streams/chapters/programs.

Originally committed as revision 25635 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-02 06:01:28 +00:00
Stefano Sabatini
0422af7e49 Remove ffmpeg PGMYUV compatibility hack, which was deprecated since
ages.

The user is requested to specify "-f image2" in place of "-f pgmyuv"
for reading/writing PGMYUV files, as for the other image formats.

Originally committed as revision 25629 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-02 00:29:13 +00:00
Stefano Sabatini
2839dc974d Use AV_RL32() in opt_codec_tag().
Originally committed as revision 25618 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-31 22:48:44 +00:00
Ramiro Polla
0d0778b060 ffmpeg: fix opt_codec_tag() return value
opt_codec_tag() is now used under OPT_FUNC2, which must return a value.

Originally committed as revision 25616 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-31 19:55:13 +00:00
Rocky Cardwell
b67f3d6575 Fix ffserver-related regression (and crash) introduced in r25500.
Fixes issue 2317.

Patch by Rocky Cardwell, rocky d cardwell a lifespringschool d org

Originally committed as revision 25603 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-29 14:54:18 +00:00
Carl Eugen Hoyos
ec1ca41cef Move new_output_stream() up for upcoming fix for issue 2317.
Originally committed as revision 25602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-29 14:48:38 +00:00
Anton Khirnov
63e856df0a ffmpeg.c: dynamically allocate metadata maps
Originally committed as revision 25599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-28 20:28:22 +00:00
Stefano Sabatini
d0242e741d Factorize: opt_{audio,video,subtitle}_tag() -> opt_codec_tag().
Originally committed as revision 25596 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-28 13:20:26 +00:00
Stefano Sabatini
96ea6ad2a7 Remove unused variables picture_crop_temp and picture_pad_temp.
Originally committed as revision 25530 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-20 09:45:50 +00:00
Nicolas George
4ad08021e8 Add a -force_key_frames option to ffmpeg.
The option is useful to ensure that there is a seek point exactly at a
place the user will probably want to jump precisely sometime, the
major example would be the end of an opening and the beginning of a
chapter. The scene change detection system will often make it happen,
but not always for example if there is a fade-in.

See the thread:
Subject: [FFmpeg-devel] [PATCH] -force_key_frames option
Date: Tue, 12 Oct 2010 15:16:26 +0200

Patch by Nicolas George -mail nicolas,george,normalesup,org.

Originally committed as revision 25526 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-18 21:47:15 +00:00
Stefano Sabatini
ff0652e503 Implement a common get_filtered_video_frame(), shared between ffplay.c
and ffmpeg.c.

Originally committed as revision 25520 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-18 13:57:11 +00:00
Stefano Sabatini
16b2691346 Make help message for the -crop* options consistent with that of the
-pad* options and more direct.

Originally committed as revision 25519 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-18 13:43:07 +00:00
Stefano Sabatini
5879ea6d27 Remove -crop* options.
Users are required to use the libavfilter crop filter.

Originally committed as revision 25518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-18 13:34:46 +00:00
Stefano Sabatini
3f2a7e4277 Cosmetics: use a more compact notation, improve readability and reduce
line count.

Originally committed as revision 25510 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-16 20:57:55 +00:00
Stefano Sabatini
dbabc2773a Reset metadata after opt_output_file(), fix the previous commit.
Spotted by elenril on irc.

Originally committed as revision 25509 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-16 16:16:01 +00:00
Stefano Sabatini
4bf65e2a4d Use an AVMetadata struct for storing metadata, simplify.
Originally committed as revision 25508 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-16 15:25:02 +00:00
Anton Khirnov
a7e5a832c4 ffmpeg.c/ffprobe.c: remove all uses of av_metadata_conv()
patch by Anton Khirnov  anton _at_ khirnov _dot_ net

Originally committed as revision 25503 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-16 13:04:27 +00:00
Stefano Sabatini
2a24df9357 Add avfilter_graph_config().
Originally committed as revision 25502 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-16 10:20:53 +00:00
Nicolas George
0b6d358a09 Place the bitstream_filters variable in the AVOutputStream, thus
greatly simplifying its handling and reducing code duplication.

Patch by Nicolas George -bsf nicolas*george|normalesup+org.

Originally committed as revision 25501 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-16 10:06:13 +00:00
Nicolas George
9fdf4b5817 Move the allocation of the AVOutputStream structure earlier in the
code flow, in the new_video_stream() / new_audio_stream() /
new_subtitle_stream() functions.

Patch by Nicolas George <$name.$surname@normalesup.org>.

Originally committed as revision 25500 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-16 10:06:10 +00:00
Stefano Sabatini
f7ead94c69 Factorize definition of the output_filter defined in both ffplay.c and
ffmpeg.c.
Replace it with a more generic definition which can be shared.

Originally committed as revision 25453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-12 18:40:26 +00:00
Stefano Sabatini
94498ec98a Extend buffer source to accept the time base for the output PTS.
Originally committed as revision 25451 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-12 18:40:20 +00:00
Alexander Strange
0ff4f0c0fc ffmpeg: Use guess_correct_pts() to set decoded picture timestamps
Originally committed as revision 25431 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-10 02:17:26 +00:00
Aurelien Jacobs
fd0368e7ca move av_find_stream_info() info struct to AVStream to avoid messy (re)allocation
Originally committed as revision 25418 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-08 22:01:19 +00:00
Aurelien Jacobs
ca8064d2d1 fix bitstream filter option mapping when using -newvideo and friends
There was an off-by-one when addressing bitstream_filters[] in this situation.

Originally committed as revision 25398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-07 19:25:48 +00:00
Michael Niedermayer
2dec2bb880 Pass RC parameters on stream copy to the muxer.
Originally committed as revision 25384 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-07 01:57:35 +00:00
Aurelien Jacobs
1136850dd5 cosmetic: break long line
Originally committed as revision 25377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-06 18:54:10 +00:00
Aurelien Jacobs
6d3421498e ffmpeg: Fix prototype of some OPT_FUNC2 functions. They must return an int.
Originally committed as revision 25358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 21:05:07 +00:00
Aurelien Jacobs
59ac1da26d cosmetic: break long line
Originally committed as revision 25329 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-03 20:23:16 +00:00
Reimar Döffinger
a5c33faacc Add init and uninit functions to cmdutils, reduces code duplication
between ffmpeg and ffplay and avoids a valgrind error by freeing
avformat_opts->key.

Originally committed as revision 25309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-02 08:44:33 +00:00
Aurelien Jacobs
84fd51e5ad ffmpeg: replace MAX_STREAMS by an arbitrary sanity check
Originally committed as revision 25304 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-01 21:56:09 +00:00
Aurelien Jacobs
620a67d56a ffmpeg: dynamically allocate bitstream_filters
Originally committed as revision 25303 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-01 21:54:20 +00:00
Aurelien Jacobs
3a8e882419 ffmpeg: dynamically allocate stream_maps
Originally committed as revision 25302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-01 21:52:09 +00:00
Aurelien Jacobs
0a6d97b371 ffmpeg: dynamically allocate output_codecs
Originally committed as revision 25301 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-01 21:51:12 +00:00
Aurelien Jacobs
311e223f28 ffmpeg: dynamically allocate input_codecs
Originally committed as revision 25300 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-01 21:41:27 +00:00
Aurelien Jacobs
2c6958aabd ffmpeg: dynamically allocate input_files_ts_scale
Originally committed as revision 25299 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-01 21:36:13 +00:00
Aurelien Jacobs
e640f26177 ffmpeg: dynamically allocate streamid_map
Originally committed as revision 25298 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-01 21:34:59 +00:00
Aurelien Jacobs
dba249abee ffmpeg: add a grow_array() helper function
Originally committed as revision 25297 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-01 21:29:37 +00:00
Måns Rullgård
b64b4134d5 Rename libavutil/assert.h to avassert.h
This avoids conflicts with the system assert.h.

Originally committed as revision 25284 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-01 13:55:13 +00:00
Michael Niedermayer
b926b6282d av_assert() system.
With this the developer can now choose if he wants an assert always enabled or at which
compile time assert level. This can thus replace the #define NDEBUG hacks

Originally committed as revision 25278 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-30 21:57:31 +00:00
Michael Niedermayer
0093ebc20a User application side of Codec specific parameters.
Originally committed as revision 25266 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-29 23:06:51 +00:00
Janne Grunau
d04247a134 use strict_std_complience from avcodec_opts[AVMEDIA_TYPE_*]
Options are not yet set for video encoders and for codec specific
defaults it is desireable to set the codec options only after the codec
is known.

Originally committed as revision 25230 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 19:59:36 +00:00
Stefano Sabatini
2bc05d3547 Change the syntax of the crop filter from x:y:w:h to w:h:x:y.
Slightly more intuitive and required by a pending changes for making
the filter parametric.

Originally committed as revision 25184 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-24 23:14:01 +00:00
Michael Niedermayer
3f07e8dbee Doxy consistency cosmetics
Originally committed as revision 25176 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-24 15:40:53 +00:00
Michael Niedermayer
6b6bca6443 Enable AV_LOG_SKIP_REPEATED to maintain previous behavior.
Originally committed as revision 25175 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-24 15:39:10 +00:00
Stefano Sabatini
e44c01563f Deprecate av_opt_show() in favor of a new function av_opt_show2(),
which allows to specify only a subset of all the options to show.

Originally committed as revision 25166 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-24 00:51:40 +00:00
Stefano Sabatini
1790d3b330 Move log_callback_help to cmdutils.[hc], for allowing sharing.
Originally committed as revision 25149 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-20 21:48:03 +00:00
Justin Ruggles
ff19d16b91 10l: error in last commit. use decoder channels not encoder channels.
Originally committed as revision 25144 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-18 20:19:18 +00:00
Justin Ruggles
37f5a713de Change remaining ost->st->codec and ist->st->codec to enc and dec in
do_audio_out().

Originally committed as revision 25143 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-18 20:16:56 +00:00
Martin Storsjö
2dfa7c72ce Update the audio sample rate when doing lowres audio decoding, before opening the decoder
Originally committed as revision 25090 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-09 20:58:13 +00:00
Stefano Sabatini
37b9706123 Factorize opt_new_{audio,video,subtitle} definitions.
Originally committed as revision 24905 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-24 15:48:20 +00:00
Stefano Sabatini
dfd5775735 Cosmetics: rename out_video_filter to output_video_filter, for
consistency with input_video_filter.

Originally committed as revision 24904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-24 15:48:17 +00:00
Stefano Sabatini
4ddf0d2915 Make configure_filters() return a meaningful error code rather than
always -1.

Originally committed as revision 24903 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-24 15:48:11 +00:00
Ramiro Polla
3f1710e74f indent
Originally committed as revision 24894 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-24 00:46:32 +00:00
Vitor Sessak
c4ab519e00 Make "-fs ss" mean "make output file of size equals or less than ss"
instead of current "make output file of size less than ss".

Also use it to make MP3 tests more readable (using -fs xxx where xxx is
the requested output size, not something slightly lower).

Originally committed as revision 24884 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-23 14:46:59 +00:00
Stefano Sabatini
84c0386960 Change avfilter_open() signature, from:
AVFilterContext *avfilter_open(AVFilter *filter, const char *inst_name);
to:
int avfilter_open(AVFilterContext **filter_ctx, AVFilter *filter, const char *inst_name);

This way it is possible to propagate an error code telling the reason
of the failure.

Originally committed as revision 24765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-11 11:44:51 +00:00
S.N. Hemanth Meenakshisundaram
cc80caff52 Separate video specific BufferRef properties into VideoProps.
Define a new struct AVFilterBufferRefVideoProps and add a type field
to AVFilterBufferRef.

Video specific properties in AVFilterBufferRefVideoProps are now
referred to by *video pointer in AVFilterBufferRef.

Patch by S.N. Hemanth Meenakshisundaram smeenaks->ucsd.edu.

Originally committed as revision 24763 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-11 11:06:04 +00:00
S.N. Hemanth Meenakshisundaram
5d4890d73d Rename fields:
AVFilterLink.srcpic    ->  AVFilterLink.src_buf
AVFilterLink.cur_pic   ->  AVFilterLink.cur_buf
AVFilterLink.outpic    ->  AVFilterLink.out_buf

The new names are more generic and more consistent, since the struct
they contain, which was named AVFilterPicRef, has been renamed to
AVFilterBufferRef.

Patch by S.N. Hemanth Meenakshisundaram %smeenaks%ucsd%edu%.

Originally committed as revision 24732 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 01:15:34 +00:00
S.N. Hemanth Meenakshisundaram
7fce481a69 Rename functions and fields:
avfilter_(un)ref_pic       -> avfilter_(un)ref_buffer
avfilter_copy_picref_props -> avfilter_copy_buffer_ref_props
AVFilterBufferRef.pic      -> AVFilterBufferRef.buffer

They have been renamed to allow sharing with audio.

Patch by S.N. Hemanth Meenakshisundaram $smeenaks$ucsd$edu$.

Originally committed as revision 24731 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 01:15:27 +00:00
S.N. Hemanth Meenakshisundaram
ecc8dada37 Rename AVFilterPicRef to AVFilterBufferRef.
The struct is going to be used for storing audio buffer references as
well, and the new name is more generic.

Patch by S.N. Hemanth Meenakshisundaram @smeenaks@ucsd@edu@.

Originally committed as revision 24730 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 01:15:19 +00:00
Stefano Sabatini
126b638ea0 Deprecate av_parse_video_frame_size() and av_parse_video_frame_rate()
in favor of the newly added corresponding functions
av_parse_video_size() and av_parse_video_rate() defined in
libavcore/parseutils.h.

This change also adds a linking-time dependency of libavcodec and of
libavfilter on libavcore.

Originally committed as revision 24518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 23:12:28 +00:00
Stefano Sabatini
065a20cb07 Reindent.
Originally committed as revision 24506 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 13:39:49 +00:00
Stefano Sabatini
3aace1bcac Rename av_transcode() to transcode().
av_ prefix is reserved for libav* libraries functions, it is confusing
to use it for an application function.

Originally committed as revision 24505 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-26 13:39:41 +00:00
Stefano Sabatini
639e4ec81b Rename av_exit() to ffmpeg_exit().
av_ is a prefix reserved for av* libraries functions, using that for an
application function is confusing.

Originally committed as revision 24497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-25 14:42:32 +00:00
Stefano Sabatini
f62c025a5e Use X ? Y : Z construct, simplify.
Originally committed as revision 24496 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-25 14:41:06 +00:00
Stefano Sabatini
f7bd4a8ebd Cosmetics: rename enc -> dec in opt_input_file().
The variable refer to a *decoder* context, the old name was
misleading.

Originally committed as revision 24492 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-25 10:42:00 +00:00
Jai Menon
d62ccec8b1 FFmpeg : Replace some av_exit calls in av_transcode with branches to the
cleanup code.

This plugs a bunch of memleaks.

Originally committed as revision 24305 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-18 18:20:41 +00:00
Jai Menon
961e4a3389 FFmpeg : Close input file and free any related memory if
av_find_stream_info fails.

Originally committed as revision 24247 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-15 11:53:34 +00:00
Michael Niedermayer
748db0fcc4 Move frame_available computation to where it belongs in ffmpeg.c.
This fixes a infinite loop.
Fixes issue 2066.

Originally committed as revision 24058 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-05 14:49:48 +00:00
Stefano Sabatini
9f434b6584 Make opt_pad() print more information.
Originally committed as revision 24050 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-04 20:59:02 +00:00
Stefano Sabatini
74dc99f2b3 Update help message for the -pad* options, as they have been removed,
and update the manual page accordingly.

Based on a patch by John Calcote $(echo "<kpio.dbmdpuf@hnbjm.dpn>" | tr "b-za" "a-z").

Originally committed as revision 24049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-04 20:59:00 +00:00
Baptiste Coudurier
3c5e1b36d5 LOL, 100l, really fix warning:
ffmpeg.c: In function 'new_audio_stream':
ffmpeg.c:665: warning: 'best' may be used uninitialized in this function
ffmpeg.c:665: note: 'best' was declared here

Originally committed as revision 24034 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-03 23:24:37 +00:00
Baptiste Coudurier
947cbeca16 Fix warning:
ffmpeg.c: In function 'new_audio_stream':
ffmpeg.c:665: warning: 'best' may be used uninitialized in this function
ffmpeg.c:665: note: 'best' was declared here

Originally committed as revision 24033 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-03 23:22:25 +00:00
Rodney Baker
2d525ef483 Change all occurences of "inofficial" to "unofficial" in code, comments
and options. Keep old options until next major version bump.

Patch by Rodney Baker, rodney d baker a iinet d net d au

Originally committed as revision 24021 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-03 15:35:23 +00:00
Baptiste Coudurier
8abcbf2d54 Reduce codec time base when stream copying
Originally committed as revision 24019 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-03 10:12:22 +00:00
Baptiste Coudurier
f96363df7a Set graph swscale opts before parsing it, that way opts are available
when auto-adding scalers.

Originally committed as revision 24015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-03 03:11:04 +00:00
Stefano Sabatini
2b4abbd6f5 Move colorspace.h from libavcodec to libavutil.
Avoid a compile-time dependency of the pad filter on libavcodec.

Originally committed as revision 23940 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-01 18:49:44 +00:00
Mike Scheutzow
006e8108de Add new option "streamid" to set the value of an outfile streamid.
Patch by Mike Scheutzow, scheutzow alcatel-lucent com

Originally committed as revision 23917 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 22:35:57 +00:00
Måns Rullgård
2829ce4b40 Remove PPC perf counter support
This functionality is better accessed through tools like oprofile.

Originally committed as revision 23808 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-26 22:23:35 +00:00
Stefano Sabatini
25d3445811 Rename rec_timestamp to recording_timestamp, for consistency with
recording_time.

Originally committed as revision 23727 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-22 22:54:39 +00:00
Alexander Strange
28db32159e ffmpeg: cosmetics: combine two variable declarations
Originally committed as revision 23677 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-21 04:15:18 +00:00
Michael Niedermayer
54a13282bd Deprecate -crop* arguments, they currently are buggy (issue1957) and probably
will be fixed by removing them.

Originally committed as revision 23607 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-14 17:35:46 +00:00
Justin Ruggles
e91376d1f6 10l: audio_buf is already a uint8_t* so no need to cast it
Originally committed as revision 23571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-10 19:50:14 +00:00
Justin Ruggles
79c85beba8 Allocate enough memory for audio_buf to fit a full output frame.
Also, use audio_buf when encoding the final frame.
Fixes Issue 1921.

Originally committed as revision 23570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-10 19:40:56 +00:00
Diego Biurrun
a1629e2848 Remove support for pre-Haiku, non-POSIX, non-C99 BeOS variants.
BeOS support has been broken for many years and the "maintainer" of the port
has not reacted to countless requests to get the port fixed.
approved by Mans

Originally committed as revision 23562 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-10 16:51:14 +00:00
Luca Abeni
b659c8b4b7 In case of stream copy, copy the extradata from the input codec context to
the output codec context (instead of just copying a pointer to the extradata).

Originally committed as revision 23538 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-08 19:27:29 +00:00
Stefano Sabatini
83a36b2e0b Change type of {audio,video,subtitle}_codec_tag variables from int to
unsigned int, as the corresponding variable set in
AVCodecContext.codec_tag is unsigned int.

Originally committed as revision 23441 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-03 18:40:31 +00:00
Janne Grunau
770e50ae80 ffmpeg: offer alternatives for experimental codecs if they exist
Originally committed as revision 23398 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-31 22:35:14 +00:00
Janne Grunau
4e605bc3fd ffmpeg: fail if user selected codec is experimental and strict_std_compliance > experimental
Originally committed as revision 23397 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-31 22:31:51 +00:00
Ramiro Polla
c56e9e05ab Open 2-pass logfile in binary mode for both reading and writing.
This fixes a regression on Windows introduced by r22769 in which the data read
from the file was not properly zero terminated. The file was read as text,
which caused the \r characters to be suppressed. Since the zero termination
happens at the end of the buffer, and there was one byte less read per line,
this caused the remaining space on the buffer to contain random data.

Originally committed as revision 23251 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-22 21:32:57 +00:00
Baptiste Coudurier
521cfa4aae rename -vfilters cli option to -vf
Originally committed as revision 23100 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-12 01:47:14 +00:00
Baptiste Coudurier
d21f58b52d cosmetics, rename loop to frame_available
Originally committed as revision 23092 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-11 17:25:18 +00:00
Baptiste Coudurier
a9f3cb9372 rename curr_filter to last_filter, factorize filter declaration
Originally committed as revision 23091 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-11 17:23:06 +00:00
Baptiste Coudurier
79b90b2549 cosmetics: indentation, whitespaces
Originally committed as revision 23090 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-11 17:18:13 +00:00
Baptiste Coudurier
6e82e7fa48 simplify, reuse existing args variable
Originally committed as revision 23089 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-11 17:16:52 +00:00
Baptiste Coudurier
aa1249b8aa cosmetics: filt_graph_all -> graph, like in ffplay.c
Originally committed as revision 23088 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-11 17:14:36 +00:00
Michael Niedermayer
0c22311b56 Remove messy pading hack in ffmpeg.c.
Use avfilters if you want padding!

Originally committed as revision 23050 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-07 12:16:23 +00:00
Michael Niedermayer
bdab692f48 Make sure get_filtered_video_pic() doesnt loose interlacedframe/tff.
Originally committed as revision 23049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-07 12:05:24 +00:00
Michael Niedermayer
46847a336e avfilter support for ffmpeg
Originally committed as revision 23043 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-07 09:43:21 +00:00
Michael Niedermayer
ff866063e9 Print warnig if requested samplingrate is unsupported.
Originally committed as revision 22991 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-30 00:06:36 +00:00
Stefano Sabatini
a31e795607 Make ffmpeg use print_error() to make apparent the exact cause of
failure happened when trying to open the output file.

Originally committed as revision 22973 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-26 22:36:55 +00:00
Stefano Sabatini
2ef6c1242a Mark av_metadata_set() as deprecated, and use av_metadata_set2()
in its place.

av_metadata_set() is going to be dropped at the next major bump.

Originally committed as revision 22961 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-25 14:27:42 +00:00
Michael Niedermayer
10d0f5e035 Make sure ffmpeg chooses a supported samplerte if the encoder supports
just some.

Originally committed as revision 22943 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-22 09:40:51 +00:00
Cyril Russo
9b157b0ccd Fix compilation error of ffmpeg and ffplay with --disable-avdevice.
Patch by Cyril Russo, stage D nexvision A laposte net

Originally committed as revision 22940 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-22 08:55:23 +00:00
Robert Krüger
2328e5a289 Allow setting the environment variable FFMPEG_DATADIR to locate preset files.
Patch by Robert Krüger <krueger signal7 de>.

Originally committed as revision 22923 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 17:37:06 +00:00
Baptiste Coudurier
f32f7d8b24 Take ticks per frame into account when warning about difference between
container and codec frame rate.

Originally committed as revision 22895 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-16 22:58:56 +00:00
Anton Khirnov
46e6fb4c54 Simplify writing stream metadata.
Patch by Anton Khirnov <wyskas gmail com>.

Originally committed as revision 22809 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-05 19:54:11 +00:00
Anton Khirnov
1a6498d78c Don't overwrite user-supplied metadata with metadata mapped from an input file.
Patch by Anton Khirnov <wyskas gmail com>.

Originally committed as revision 22808 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-05 19:53:25 +00:00
Stefano Sabatini
685598f58d Reindent.
Originally committed as revision 22798 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-04 13:50:38 +00:00
Stefano Sabatini
ac61f59a76 Rename av_encode() to av_transcode(), the new name is more meaningful.
Originally committed as revision 22797 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-04 13:50:34 +00:00
Carl Eugen Hoyos
18590be655 Use AVDISCARD_DEFAULT for 0 where appropriate.
Originally committed as revision 22787 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 23:08:23 +00:00
Stefano Sabatini
458b062d61 Implement cmdutils.c:read_file(), and use it in ffmpeg.c for reading
the second pass encoding log file.

Originally committed as revision 22769 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-01 22:34:22 +00:00
Ronald S. Bultje
d9521cb119 Fix FFM-based streaming from ffmpeg to ffserver. The basic problem is that
we'd memset() the codec context to zero, thereby setting audio input to U8
and video to YUV420P. For most video encoders, that actually works, but for
most audio codecs, it doesn't. This patch changes defaults to those set by
avcodec_context_get_defaults() and have ffmpeg figure out the optimal encoding
format itself if not set explicitely (as it does for the non-ffserver-cases
also).

Originally committed as revision 22751 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 21:02:34 +00:00
Jean-Daniel Dupas
cc947f04cc Replace all occurences of PKT_FLAG_KEY with AV_PKT_FLAG_KEY.
Patch by Jean-Daniel Dupas, devlists shadowlab org

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

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Ronald S. Bultje
aa1de0d9ed Split out code that auto-chooses a default pix_fmt/sample_fmt in their own
functions.

Originally committed as revision 22731 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 19:37:07 +00:00
Måns Rullgård
64f6e357fd 10l: fix build without termios.h
Originally committed as revision 22604 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 01:02:45 +00:00
Måns Rullgård
9a9509e6ee Register atexit handler only when needed
Originally committed as revision 22599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-19 16:25:11 +00:00
Anton Khirnov
7a39f142a8 ffmpeg.c: copy chapters by default.
Patch by Anton Khirnov wyskas gmail com

Originally committed as revision 22598 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-19 07:44:38 +00:00
Ronald S. Bultje
562f22a699 Typo: if output (video) stream's pix_fmt is not set, then the stream cannot
be ENcoded, not DEcoded.

Originally committed as revision 22566 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-16 15:48:48 +00:00
Michael Niedermayer
802323508c Allow mpeg style yuv in jpeg when strict standard compliance is small enough.
Originally committed as revision 22553 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 19:45:57 +00:00
Alexander Strange
d55065a29f ffmpeg: Combine variable declaration and definition
Originally committed as revision 22537 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 02:33:49 +00:00
Alexander Strange
47b229dbab ffmpeg: Factor out redundant sync_ipts calculation
Originally committed as revision 22536 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 02:32:21 +00:00
Måns Rullgård
335ee1aadd Move libm replacements to new header libm.h
ffmpeg.c uses lrintf(), which is missing on some systems.  Previously
it picked up the replacement via libavutil/internal.h due to
HAVE_AV_CONFIG_H being erroneously defined.

Moving these replacements to a separate header enables ffmpeg.c to
use them without being exposed to internal interfaces.

This use of a non-public header is justified by the header in question
not being part of the internal interface either.  It should rather be
considered as part of the build system, which is shared between the
libraries and the applications.

This header cannot be installed since the tested conditions depend on
the compiler.

Originally committed as revision 22399 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 15:10:23 +00:00
Måns Rullgård
6580d5e377 Remove hacks not required since HAVE_AV_CONFIG_H was unset for the apps
Originally committed as revision 22295 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 22:18:37 +00:00
Alex Converse
660822f0ae ffmpeg.c: Don't use NULL for integer metadata flags.
Originally committed as revision 22205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 11:27:39 +00:00
Stefano Sabatini
8c8bf9ecfc Make ffmpeg print a message and abort if the name of the format
provided with -f was unknown.

Originally committed as revision 22140 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-02 00:01:16 +00:00
Chris Stones
49b609820d Don't let output pixel format influence input pixel format.
Patch by Chris Stones,  chris D stones A gmail

Originally committed as revision 22130 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-01 16:47:44 +00:00
Anton Khirnov
c71591a509 ffmpeg: copy stream metadata.
Patch by Anton Khirnov wyskasgmailcom

Originally committed as revision 22126 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-01 07:22:59 +00:00
Francesco Cosoleto
6abda15f56 Prevent overflow of start_time + recording_time.
Patch by Francesco Cosoleto gmail($name)

Originally committed as revision 22077 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-26 14:46:20 +00:00
Michael Niedermayer
a15fdd7ce3 Attempt to fix issue1728 and regression of issue203
Originally committed as revision 22011 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 23:41:11 +00:00
Michael Niedermayer
b8c93c483b Set ist->pts to something that isnt guranteed to entangle itself with stream copying b frames.
Originally committed as revision 22010 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 22:06:36 +00:00
Michael Niedermayer
247e3954fc Favor streams with more packets if the user did not specify what she wants.
Fixes issue1156

Originally committed as revision 22002 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 16:31:14 +00:00
Michael Niedermayer
6d3d3b836f Redesign opt_programid code.
Its now possible to also select programs per input file and there is
less code duplication.

Originally committed as revision 21999 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-23 15:08:41 +00:00
Reimar Döffinger
fc5607f862 Make -benchmark also print the maximum memory usage if possible.
Originally committed as revision 21973 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-22 22:21:58 +00:00
Wolfram Gloger
23b361baca Remove recording_time check which is no longer necessary after r21687.
Patch by Wolfram Gloger, wmglo A dent D med D uni-muenchen D de

Originally committed as revision 21760 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-11 21:54:09 +00:00
Reimar Döffinger
40938d9382 Use av_compare_ts to compare against the -t end time instead of using
floating point.
Should fix different results between PPC and x86 for the idroq-video-encode
FATE test.

Originally committed as revision 21745 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-10 19:46:44 +00:00
Wolfram Gloger
55a7e946f6 Stop reading input file when -t option value is reached.
Patch by Wolfram Gloger wmglo (chez) dent med uni (minus) muenchen de

Originally committed as revision 21687 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08 09:04:06 +00:00
Justin Johnson
86a4f011e6 Revert r21615 | cehoyos | 2010-02-02 23:23:09 +0100 (Tue, 02 Feb 2010) | 5 lines
Guess the duration before converting video and write guessed duration
	into flv header.
	Patch by Justin Johnson, justin D johnson3 A gmail

The change to ffmpeg.c is wrong as input and output files arent connected 1:1
(i seem to have missed that)
Also it can segfault see ([FFmpeg-devel] rtp streaming x264+audio issues (and some ideas to fix them))

Originally committed as revision 21652 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 11:11:10 +00:00
Stefano Sabatini
6e2fdc3eb1 Add parentheses in boolean expression: (A && B || C) => ((A && B) || C),
fix the warning:
ffmpeg.c: In function ‘output_packet’:
ffmpeg.c:1317: warning: suggest parentheses around && within ||

Originally committed as revision 21650 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-06 00:10:42 +00:00
Stefano Sabatini
cedac88250 Make opt_frame_pix_fmt() call show_pix_fmts() if the provided option
is "list".

Originally committed as revision 21628 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 19:55:45 +00:00
Michael Niedermayer
f575f08ccb Correct opts calulation in ffmpeg.c.
This correct the stop point for demuxing with -vcodec copy and -t as well as
packet interleaving. (we already diddrop packets but kept demuxing them
for too long due to opts being wrong)
the change to ffm is due to 2 packets with timestamp 0 being stored
in different order.

Originally committed as revision 21626 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 15:09:04 +00:00
Michael Niedermayer
5bfe91e683 Alternative solution for the mpegvideo_split + mov problem.
Originally committed as revision 21625 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-03 14:53:14 +00:00
Justin Johnson
c5e1e9827d Guess the duration before converting video and write guessed duration
into flv header.

Patch by Justin Johnson, justin D johnson3 A gmail

Originally committed as revision 21615 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-02 22:23:09 +00:00
Michael Niedermayer
f8ccf72005 Check pkt.pts against the recording time.
This fixes at least ogg encoding with -t where the file was slightly too long.

Originally committed as revision 21598 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 22:08:45 +00:00
Stefano Sabatini
718c7b18c9 Use av_get_pix_fmt() instead of the deprecated avcodec_get_pix_fmt()
function.

Originally committed as revision 21550 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-30 19:10:26 +00:00
Jai Menon
ecc544debd ffmpeg.c : Don't set AVFormatParameters::[audio|video]_codec_id
since it is no longer required.

Originally committed as revision 21513 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-28 16:17:52 +00:00
Jai Menon
60402344af ffmpeg.c : Increase static limit on the maximum number of
input files.

Originally committed as revision 21483 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 19:11:31 +00:00
Michael Niedermayer
3ff0daf06d Print "Multiple frames in a packet" warning independant of CODEC_CAP_SUBFRAMES
because CODEC_CAP_SUBFRAMES is primarely misused to hide this warning otherwise
which renders the flag completely useless.

Originally committed as revision 21480 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-27 13:27:18 +00:00