Commit Graph

916 Commits

Author SHA1 Message Date
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
Michael Niedermayer
6d6b0c96fd Merge remote branch 'qatar/master'
* qatar/master:
  drawtext: add documentation for the shadow parameters
  drawtext: add shadow support.
  drawtext: factor draw_glyphs.
  drawtext: fix and optimize yuv blend.
  drawtext: get rid of divisions in the inner loop.
  drawtext: simplify chroma blend and fix chroma alpha.
  lavfi: Port drawtext filter by Hemanth from the libavfilter soc repo

Conflicts:
	configure
	libavfilter/avfilter.h
	libavfilter/vf_drawtext.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-08 03:29:51 +02:00
Stefano Sabatini
ea7f73c52e vsrc_buffer: during init, print information about timebase and sample aspect ratio 2011-05-07 12:48:19 +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
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
Stefano Sabatini
18ded93ab3 lavc: add format field to AVFrame
The format is a per-frame property, having it in AVFrame simplify the
operation of extraction of that information, since avoids the need to
access the codec/stream context.
2011-05-07 11:45:37 +02:00
Stefano Sabatini
22333a6b19 lavc: add width and height fields to AVFrame
width and height are per-frame properties, setting these values in
AVFrame simplify the operation of extraction of that information,
since avoids the need to check the codec/stream context.
2011-05-07 11:45:30 +02:00
Michael Niedermayer
c5420f100f drawtext: add shadow support.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-07 10:21:56 +02:00
Michael Niedermayer
e73127a443 drawtext: factor draw_glyphs.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-07 10:21:56 +02:00
Michael Niedermayer
a5b81c317e drawtext: fix and optimize yuv blend.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-07 10:21:53 +02:00
Michael Niedermayer
3953a88014 drawtext: get rid of divisions in the inner loop.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-07 10:18:16 +02:00
Michael Niedermayer
e74bf3f368 drawtext: simplify chroma blend and fix chroma alpha.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-07 10:18:16 +02:00
Stefano Sabatini
a5b64584f3 lavfi: Port drawtext filter by Hemanth from the libavfilter soc repo
With the following additions:
* support to anti-aliased glyph rendering
* support to UTF-8 text and Unicode chars rendering
* support for RGB packed formats
* fix minor errors and typos in the filter description
* extend/clarify examples in the filter description

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-07 10:17:40 +02:00
Michael Niedermayer
c34cb130b6 avfilter: dont use AVFilterLink as priv for pictures as its freed too early.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-07 01:02:38 +02:00
Michael Niedermayer
21d84246d5 avfilter: Fix ticket82 / fix initial buffer values.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-07 00:01:33 +02:00
Michael Niedermayer
39f66edbea AVFilter: use picture pool to avoid malloc().
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-06 23:53:06 +02:00
Michael Niedermayer
fa3eddc011 avfilter_unref_buffer: favor av_freep()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-06 23:37:43 +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
Ronald S. Bultje
0699dbb847 avfilter: check malloc return values. 2011-05-03 22:35:23 -04:00
Ronald S. Bultje
f8af93ab99 avfilter: don't av_malloc(0). 2011-05-03 22:29:13 -04:00
Stefano Sabatini
f97905e61d scale: fix leak occurring when a scale filter is reconfigured
This currently only occurrs in vsrc_buffer in case of mid-stream
size/format change.

Fix trac issue #124.
2011-05-02 16:46:24 +02:00
Stefano Sabatini
0f1ef8a316 vsrc_buffer: improve reporting in case of format/size change 2011-05-02 16:46:15 +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
Stefano Sabatini
1ba5727242 lavc: add a pkt_pos field to AVFrame
This is similar to what was done with pkt_pts. This simplifies the
operation of extracting the pos information from the AVPacket, and
allows further simplifications.
2011-05-01 13:09:58 +02:00
Michael Niedermayer
ffb5a0d533 Merge commit '85770f2a2651497861ed938efcd0df3696ff5e45'
* commit '85770f2a2651497861ed938efcd0df3696ff5e45':
  AVOptions: make default_val a union, as proposed in AVOption2.
  Move ff_dynarray_add to lavu and make it public.
  lavf: remove duplicate assignment in avformat_alloc_context.
  lavf: use designated initializers for AVClasses.
  options: simplify av_find_opt by using av_next_option.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-01 00:26:05 +02:00
Anton Khirnov
85770f2a26 AVOptions: make default_val a union, as proposed in AVOption2.
This breaks API and ABI.
2011-04-30 08:34:16 +02:00
Diego Biurrun
a3b7dabb5b vf_fieldorder: Replace FFmpeg by Libav in license boilerplate. 2011-04-29 15:00:08 +02:00
Peter Ross
c90626b2ea hflip: make the filter accept PIX_FMT_BGR48LE and PIX_FMT_BGR48BE pixel formats
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-28 07:25:27 +02:00
Peter Ross
a1f4d07563 crop: make the filter accept PIX_FMT_BGR48LE and PIX_FMT_BGR48BE pixel formats
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-28 07:25:27 +02:00
Stefano Sabatini
31d8467d82 lavfi: add showinfo filter 2011-04-27 11:12:45 +02:00
Stefano Sabatini
f7bdffb09d lavfi: print key-frame and picture type information in ff_dlog_ref()
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-27 11:03:52 +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
075933a068 vsrc_buffer: 10l mixed up input & output sizes. (funnily this worked 99% of the time) Signed-off-by: Michael Niedermayer <michaelni@gmx.at> 2011-04-26 23:55:04 +02:00
Michael Niedermayer
d84f191d37 vsrc_buffer: Reinit scale filter when an existing filter is used.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-26 18:18:02 +02:00
Michael Niedermayer
dc1de56948 vsrc_buffer: set output timebase when output equalization is done
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-26 18:17:20 +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
ad0193bf9c vsrc_buffer: fix NULL dereference
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-26 18:15:52 +02:00
Stefano Sabatini
bebe72f4a0 lavc: deprecate FF_*_TYPE macros in favor of AV_PICTURE_TYPE_* enums
Also deprecate av_get_pict_type_char() in favor of
av_get_picture_type_char().

The new enum and av_get_picture_type_char() are defined in libavutil.
This allows the use in libavfilter without the need to link against
libavcodec.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 08:38:57 +02:00
Stefano Sabatini
73a4f7c21b pad: make the filter parametric
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 07:43:34 +02:00
royger
0bbb28c75b vsrc_movie: add key_frame and pict_type.
Signed-off-by: Roger Pau Monné <roger.pau@entel.upc.edu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 07:43:16 +02:00
Stefano Sabatini
5eb901cfec vsrc_movie: fix leak in request_frame()
Also set movie->picref to NULL, in order to avoid a crash in uninit()
when movie->picref is unreffed again and it was already freed.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 07:42:56 +02:00
Roger Pau Monné
10d39405fa lavfi: add key_frame and pict_type to AVFilterBufferRefVideo.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 07:42:13 +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
Mark Himsley
2f84bb4236 lavfi: add fieldorder filter
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 07:37:41 +02:00
Stefano Sabatini
68e23c083a scale: make the filter parametric
Make the filter accept parametric expressions for the output video
size.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 07:29:29 +02:00
James Darnley
b137bf7df3 yadif: support 16-bit
Fixes by Michael Niedermayer <michaelni@gmx.at>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 07:21:40 +02:00
James Darnley
88312a4de3 yadif: support more than yuv420p.
and correctly support grey8

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 07:15:54 +02:00
Michael Niedermayer
d85e18e6e3 yadif: Fix assert() failure
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-26 07:15:10 +02:00
Stefano Sabatini
f80b381bfd graphparser: add a NULL check on the argument passed to strstr
Fix crash in create_filter() which occurrs if a scale filter with no
args is provided.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-04-25 22:45:44 +02:00