Commit Graph

231 Commits

Author SHA1 Message Date
Jean First 9569a3c9f4 Add new pix_fmt RGBA64 2011-09-24 06:01:45 +02:00
Clément Bœsch f067d8a618 imgconvert: avoid mixed declarations and code. 2011-09-01 20:23:40 +02:00
Matthew Einhorn 1d6eca2d27 Removes the internal avcodec_find_best_pix_fmt1()function previously used by avcodec_find_best_pix_fmt() and not used anymore.
Signed-off-by: Matthew Einhorn <moiein2000@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-27 05:09:48 +02:00
Michael Niedermayer 1287c81d65 imgconvert: make avcodec_find_best_pix_fmt2() more bug robust against future changes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-27 01:07:00 +02:00
Matthew Einhorn adfe59407e Adds a new pix fmt function that selects the best dest fmt from among 2 formats to convert to, given a certain src format.
Similar to avcodec_find_best_pix_fmt(), but instead only compares two destination
pix fmts and selects one of these fmts as the best dest format when converting from
a given source format. Also, as opposed to avcodec_find_best_pix_fmt() which supports
only the first 64 defined pixel formats, this supports as input any of the defined
pixel formats.

Also replaces the old function to rely on the new function.

Signed-off-by: Matthew Einhorn <moiein2000@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-27 00:57:46 +02:00
Matthew Einhorn 27667d28a6 Updates avcodec_get_pix_fmt_loss to return maximum loss for an invalid destination pixel format.
Signed-off-by: Matthew Einhorn <moiein2000@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-08-21 20:33:02 +02:00
Matthew Einhorn 39f9601c10 lavc: fix avcodec_find_best_pix_fmt() when there's more than 64 pixel formats
This fixed the problem where if there's more than 64 pixel formats
defined avcodec_find_best_pix_fmt() returns the wrong pixel format.

Signed-off-by: Matthew Einhorn <moiein2000@gmail.com>
Signed-off-by: Stefano Sabatini <stefano.sabatini-lala@poste.it>
2011-08-18 01:02:34 +02:00
Stefano Sabatini 539940d42f imgconvert: remove unused and inconsistent PixFmtInfo.depth field 2011-07-28 10:27:51 +02:00
Stefano Sabatini e324619ca9 imgconvert: change logic in avcodec_get_pix_fmt_loss()
Avoid the use of the brittle/inconsistent information in
PixFmtInfo.depth, and implement a possibly more robust logic which
exposes the information in pixdesc.

Also allow the removal of PixFmtInfo.depth, since this is the only use
of it.
2011-07-27 01:52:09 +02:00
Stefano Sabatini d7e14c0d10 imgconvert: remove PixFmtInfo.pixel_type field
The field is only used for checking if a format is YUV planar
and if the format is paletted.

This patch replaces the current is_planar_yuv() code with a function
which uses the pixdesc information. The new implementation is less
efficient, but this should not be an issue as the functions which use
it (av_picture_crop/pad()) are deprecated and currently never used in
the codebase.
2011-07-25 11:11:54 +02:00
Stefano Sabatini 3b8bb503ee imgconvert: store padded size information in PixFmtInfo, simplify avg_bits_per_pixel()
Prefer data-driven over procedural logic in avg_bits_per_pixel(),
simplify and improve robustness, as it is easy to miss a function
update when a new format is added.
2011-07-23 17:01:27 +02:00
Stefano Sabatini 49f612ee29 imgconvert: remove useless PixFmtInfo.nb_channels field 2011-07-23 17:01:27 +02:00
Michael Niedermayer 4095fa9038 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dnxhddec: optimise dnxhd_decode_dct_block()
  rtp: remove disabled code
  eac3enc: use different numbers of blocks per frame to allow higher bitrates
  dnxhd: add regression test for 10-bit
  dnxhd: 10-bit support
  dsputil: update per-arch init funcs for non-h264 high bit depth
  dsputil: template get_pixels() for different bit depths
  dsputil: create 16/32-bit dctcoef versions of some functions
  jfdctint: add 10-bit version
  mov: add clcp type track as Subtitle stream.
  mpeg4: add Mpeg4 Profiles names.
  mpeg4: decode Level Profile for MPEG4 Part 2.
  ffprobe: display bitstream level.
  imgconvert: remove unused glue and xglue macros

Conflicts:
	libavcodec/dsputil_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-22 12:08:52 +02:00
Stefano Sabatini 09e8163625 imgconvert: remove unused glue and xglue macros
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-07-21 17:55:27 +02:00
Stefano Sabatini e71f26086a lavu: add av_get_pix_fmt_name() convenience function
Also deprecate avcodec_get_pix_fmt_name() in its favor.
2011-05-28 18:25:40 +02:00
Stefano Sabatini 8f653e28f5 lavu: add av_get_pix_fmt_name() convenience function
Also deprecate avcodec_get_pix_fmt_name() in its favor.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-05-28 09:44:18 -04:00
Michael Niedermayer a80f74c584 av_picture_crop(): Support simple cases with packed pixels too.
This fixes a regression when linked to old ffmpeg.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-05-15 22:37:02 +02: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
Anton Khirnov 3453a231a6 lavc: remove misc disabled cruft. 2011-04-19 19:01:22 +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
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
Stefano Sabatini 4ba22e044b Fix avpicture_alloc(), which was aligning the linesizes with 0 and thus
causing a wrong allocation.

Originally committed as revision 25938 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-12 15:31:49 +00:00
Stefano Sabatini 6d34323ee6 Make avpicture_alloc() return meaningful values.
Originally committed as revision 25922 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-08 10:24:09 +00:00
Stefano Sabatini 0141163d6a Reindent.
Originally committed as revision 25921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-08 10:24:07 +00:00
Stefano Sabatini e74929e8bb Use av_image_alloc() in avpicture_alloc(), simplify.
Originally committed as revision 25920 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-08 10:24:02 +00:00
Stefano Sabatini bb4afa13dd Deprecate avcodec_pix_fmt_string() in favor of
av_get_pix_fmt_string(), added to libavutil/pixdesc.h.

Originally committed as revision 25879 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-04 12:56:21 +00:00
Ramiro Polla 8f190d8b83 fix pointer truncation to int in avpicture_layout()
Originally committed as revision 25793 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-22 03:46:31 +00:00
Stefano Sabatini d2cbdb17b5 Re-implement avpicture_layout() using pixdesc and imgutils API.
The new implementation is more compact, more correct and doesn't hurt
the eyes.

Originally committed as revision 25792 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-21 21:25:06 +00:00
Stefano Sabatini 6a269f35ee Replace "depth" with "nb_bits" in the header of avcodec_pix_fmt_string().
Originally committed as revision 25791 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-21 21:25:02 +00:00
Stefano Sabatini 119a34f716 In avcodec_pix_fmt_string() use local variable pixdesc rather than
av_pix_fmt_descriptors[pix_fmt], simplify.

Originally committed as revision 25718 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-10 20:13:24 +00:00
Stefano Sabatini 2de6f6e828 Make avcodec_pix_fmt_string() use the information in the pixel format
descriptors for printing the number of channels/components.

Also replace the term "nb_channels" with "nb_components" which is more
consistent with the FFmpeg internal terminology, and is somehow
different with respect to the current definition of nb_channels in
PixFmtInfo.

See thread:
Subject: [FFmpeg-devel] [PATCH 6/8] Make avcodec_pix_fmt_string() use the
        information in the pixel format descriptors for printing the
        number of planes. Also replace the term "nb_channels" with
        "nb_planes" which is more correct.
Date: Fri,  5 Nov 2010 12:01:38 +0100

Originally committed as revision 25717 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-10 20:13:19 +00:00
Stefano Sabatini ed5d30d91c Move internal function ff_set_systematic_pal() to libavcore, and
rename it ff_set_systematic_pal2().

Originally committed as revision 25712 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-09 22:22:36 +00:00
Stefano Sabatini 46db10ed0e Optimize / simplify avcodec_get_pix_fmt_name() check.
Originally committed as revision 25689 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 15:04:35 +00:00
Stefano Sabatini a5f27f6db8 Use av_pix_fmt_descriptors information in avcodec_pix_fmt_string().
Originally committed as revision 25688 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 13:30:39 +00:00
Stefano Sabatini f35a41ff5d Make avpicture_fill() return a meaningful error code.
Originally committed as revision 25687 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 13:30:36 +00:00
Stefano Sabatini 24409b5053 Remove alpha information from avcodec_pix_fmt_string(), as that
information does not belong to the pixel format.

Originally committed as revision 25686 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-07 13:01:12 +00:00
Maksym Veremeyenko b299c4e4d3 Support deinterlacing of YUVJ422P in old deinterlacer.
Patch by Maksym Veremeyenko verem at m1stereo tv.

Originally committed as revision 25195 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-25 14:37:54 +00:00
Benjamin Larsson 4792d1e792 Support deinterlacing of YUVJ420P.
Originally committed as revision 25148 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-20 11:34:27 +00:00
Stefano Sabatini 4afbcf46c9 Reindent.
Originally committed as revision 25068 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 21:23:59 +00:00
Stefano Sabatini 34017fd9b2 Move av_picture_data_copy() to libavcore, and rename it
av_image_copy().

Originally committed as revision 25067 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 21:23:55 +00:00
Stefano Sabatini e7eb2033ff Reimplement av_picture_data_copy() avoiding the use of PixFmtInfo
information.

Required for moving the function to libavcore.

Originally committed as revision 25066 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 21:23:52 +00:00
Stefano Sabatini 03ff61167e Reindent after the last commit.
Originally committed as revision 25065 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 21:23:48 +00:00
Stefano Sabatini 9686abb826 Reimplement ff_img_copy_plane() as av_image_copy_plane() in libavcore,
and deprecate the old function.

Originally committed as revision 25064 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 21:23:45 +00:00
Stefano Sabatini e16f217ceb Use new imgutils.h API names, fix deprecation warnings.
Originally committed as revision 25058 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-07 19:15:29 +00:00
Stefano Sabatini c901f6ab6f Cosmetics: remove useless ().
Originally committed as revision 24860 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-21 15:18:54 +00:00
Stefano Sabatini 81c1ecabab Deprecate ff_get_plane_bytewidth() in favor of
av_get_image_linesize().

Originally committed as revision 24787 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-12 15:06:04 +00:00
Stefano Sabatini 7906e2b974 Implement av_get_image_linesize() and use it in
ff_get_plane_bytewidth().

The new implementation is more generic, more compact and more correct.

Originally committed as revision 24786 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-12 15:05:58 +00:00
S.N. Hemanth Meenakshisundaram 9f08d80363 Add av_picture_data_copy() and reimplement av_picture_copy() as a
wrapper of it.

The new function is more generic, and does not depend on the
definition of the AVPicture struct.

Patch by S.N. Hemanth Meenakshisundaram s + "meenakshisundaram".substr(0, 7) + "@ucsd.edu".

Originally committed as revision 24768 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-11 14:18:52 +00:00
Stefano Sabatini 6ce9b4310c Remove use of the deprecated function avcodec_check_dimensions(), use
av_check_image_size() instead.

Originally committed as revision 24711 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-06 09:37:04 +00:00