Commit Graph

45 Commits

Author SHA1 Message Date
Michael Niedermayer c8868f28e3 vf_scale: apply the same transform to the aspect during init that is applied per frame
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-27 02:04:37 +02:00
Stefano Sabatini 61d55fda2b lavfi: tweak display aspect ratio variables in pad and scale filters
Previously, "dar" and "a" were documented like "input display aspect
ratio", but their actual value was "in_w/in_h".

In order to avoid to break scripts which rely on the "a" variable, the
patch keeps the same semantics but fixes the corresponding docs, and
fixes the semantics of the recently added "dar" variable, which
now correctly expresses the input Display Aspect Ratio value as
"(inw_w/in_h)*sar".
2011-07-30 18:27:24 +02:00
Stefano Sabatini 01151a26c0 vf_scale: add a "sar" variable
Also create a "dar" alias for the "a" variable, for avoiding possible
confusion between dar/sar.
2011-07-04 11:19:46 +02:00
Michael Niedermayer 976a8b2179 Merge remote-tracking branch 'qatar/master'
* qatar/master: (40 commits)
  H.264: template left MB handling
  H.264: faster fill_decode_caches
  H.264: faster write_back_*
  H.264: faster fill_filter_caches
  H.264: make filter_mb_fast support the case of unavailable top mb
  Do not include log.h in avutil.h
  Do not include pixfmt.h in avutil.h
  Do not include rational.h in avutil.h
  Do not include mathematics.h in avutil.h
  Do not include intfloat_readwrite.h in avutil.h
  Remove return statements following infinite loops without break
  RTSP: Doxygen comment cleanup
  doxygen: Escape '\' in Doxygen documentation.
  md5: cosmetics
  md5: use AV_WL32 to write result
  md5: add fate test
  md5: include correct headers
  md5: fix test program
  doxygen: Drop array size declarations from Doxygen parameter names.
  doxygen: Fix parameter names to match the function prototypes.
  ...

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

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-04 00:45:21 +02:00
Mans Rullgard 0ebcdf5cda Do not include mathematics.h in avutil.h
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-03 21:42:06 +01:00
Reimar Döffinger bf19c87101 Fix type of out[] variable, it should not be const.
Fixes compiler warning about incompatible types in sws_scale call.
2011-06-01 20:26:54 +02: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 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
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
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
Stefano Sabatini c967860081 scale: set evaluated value for the "out_w" and "out_h" constants
The constant values were never set, thus the evaluation of expressions
referencing those constants were resulting in an error.

Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-17 17:33:00 +02:00
Stefano Sabatini e93d3334a9 scale: fix computation for the "hsub" and "vsub" constants
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-04-17 17:32:54 +02:00
Stefano Sabatini d496d33d26 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>
2011-04-05 15:38:34 +02:00
Michael Niedermayer bbd1c43fa3 Dont leak sws contexts.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-03 16:40:12 +02:00
Michael Niedermayer 57e2ded423 Implement interlaced scaling.
Fixes issue2632 if interl=1 is used or the automatic interlace detection is enabled
and works. This has the advantage compared to the patch in issue2632 that it causes
no speed loss and it also works when scaling is used. The disadvantage is that
interlacing autodetection does not yet work very well it seems.
This is the same method mplayer uses

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-28 01:45:11 +02: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
Stefano Sabatini dccdd93efc Make config_props() return AVERROR(EINVAL) rather than 1 in case of
failed SWScaleContext initialization.

Fix issue2546.

Originally committed as revision 26395 to svn://svn.ffmpeg.org/ffmpeg/trunk
2011-01-16 20:11:46 +00:00
Stefano Sabatini 3fa77bde1b In libavfilter, use consistently "Copyright (c)" in the license
headers.

Originally committed as revision 25838 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-28 10:22:58 +00:00
Stefano Sabatini c10676aca3 Make init() return sensible error code rather than -1 in case of
invalid values.

Originally committed as revision 25248 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-28 14:59:09 +00:00
Stefano Sabatini 46daee6e4e Cosmetics: apply nits.
Originally committed as revision 25247 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-28 14:59:06 +00:00
Stefano Sabatini a6881c6a38 Add missing uses of NULL_IF_CONFIG_SMALL for the filters descriptions.
Originally committed as revision 25182 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-24 20:41:14 +00:00
Baptiste Coudurier e4cc9f208d 100L, fix vf_scale, since copy_ref_props now copy w and h, we must update them
Originally committed as revision 24781 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-12 00:33:18 +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
S.N. Hemanth Meenakshisundaram bdab614be8 Generalize pixel format enum fields to int formats.
This is needed to make the libavfilter framework work with audio
filters.

In particular add a type field to AVFilterLink, change the field types:
enum PixelFormat format   -> int format   in AVFilterBuffer
enum PixelFormat *formats -> int *formats in AVFilterFormats
enum PixelFormat *format  -> int format   in AVFilterLink

and change the function signatures:
AVFilterFormats *avfilter_make_format_list(const enum PixelFormat *pix_fmts); ->
AVFilterFormats *avfilter_make_format_list(const int *fmts);

int avfilter_add_colorspace(AVFilterFormats **avff, enum PixelFormat pix_fmt); ->
int avfilter_add_format(AVFilterFormats **avff, int fmt);

AVFilterFormats *avfilter_all_colorspaces(void); ->
AVFilterFormats *avfilter_all_formats(enum AVMediaType type);

This change breaks libavfilter API/ABI.

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

Originally committed as revision 24424 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-22 11:12:47 +00:00
Víctor Paesa 922189feb0 Use avfilter_copy_picref_props() along lavfi.
Originally committed as revision 24196 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-11 14:44:43 +00:00
Eli Friedman 93f7aeb5ad Add a const declaration, fixing a warning
Patch by Eli Friedman, eli dot friedman at gmail

Originally committed as revision 23830 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 19:03:59 +00:00
Stefano Sabatini 47f0704eb2 Prefix value for flags with "0x", to make it clear that it is an
hexadecimal value.

Originally committed as revision 23262 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-23 19:11:43 +00:00
Stefano Sabatini d760a316e9 Make config_props() show conversion information before to create the
swscale context.

This makes eventual warnings issued in case of swscale context
creation failure to be shown after the conversion information rather
than before, which is slightly less confusing.

Originally committed as revision 23056 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-07 22:12:13 +00:00
Stefano Sabatini 38efdb2c6b Log input size, input format and swscale flags used for conversion in
config_props().

Useful for debugging.

Originally committed as revision 23055 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-07 22:12:10 +00:00
Michael Niedermayer a0aa73544c c99 sucks. Replacing scanf("%i") by strtoul()
Originally committed as revision 23053 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-07 13:00:56 +00:00
Michael Niedermayer efdc74ef19 Try to keep track of interlaced and top field first.
Originally committed as revision 23044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-07 10:02:59 +00:00
Michael Niedermayer 8155bbc944 Support setting flags for sws.
Originally committed as revision 23041 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-07 09:20:45 +00:00
Diego Biurrun ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +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
Stefano Sabatini 89fb9ae9e6 Make the scale filter pass the pkt.pos information to the output
picref.

Originally committed as revision 22509 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-13 12:33:44 +00:00
Stefano Sabatini d2a2b08cfe Use pixel format descriptors to check if the input format is paletted.
Originally committed as revision 21597 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 19:50:17 +00:00
Stefano Sabatini b4b6645655 Avoid usage of avcodec_get_pix_fmt_name() and
avcodec_get_chroma_sub_sample(), directly access
av_pix_fmt_descriptors instead.

Remove some of the dependancies of lavfi on lavc.

Originally committed as revision 21575 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-31 16:33:29 +00:00
Stefano Sabatini 27d8f6b660 Make the scale filter set in the input and output links only the
respective pixel formats effectively supported by libswscale.

Originally committed as revision 21105 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-08 23:48:32 +00:00
Stefano Sabatini a13a543797 Add a slice_dir parameter to avfilter_draw_slice().
Avoid the need to implement slice direction detection code, thus
reducing code duplication.

See the thread:
"[FFmpeg-devel] [PATCH] Add a slice_dir parameter to avfilter_start_frame()".

Originally committed as revision 20734 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-04 23:26:13 +00:00
Stefano Sabatini b37aa4de2d Use the correct chroma values for the data[] array used in
draw_slice().

The chroma values to use are supposed to be those of the input format,
not that of the output format, the latter case was causing crashes and
chroma issues.

Originally committed as revision 20660 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 18:02:19 +00:00
Stefano Sabatini 8aeb33225a Use a valid log context for av_log().
Originally committed as revision 20659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-29 17:40:53 +00:00
Stefano Sabatini c3eabb7d2f Add scale filter.
Originally committed as revision 20519 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-11-11 23:50:21 +00:00