Commit Graph

114 Commits

Author SHA1 Message Date
Baptiste Coudurier
624a7e005c Correctly support pal8 with alpha in libswscale, fix png pal8 with alpha.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-27 21:52:09 +02:00
Baptiste Coudurier
e91946ed23 Rename y400a to gray8a.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-27 21:36:30 +02:00
Michael Niedermayer
c55780dcef Merge remote branch 'qatar/master'
* qatar/master: (32 commits)
  libopencore-amr, libvo-amrwbenc: Allow enabling DTX via private AVOptions
  libopencore-amr, libvo-amrwbenc: Only check the bitrate when changed
  libopencore-amr, libvo-amrwbenc: Find the closest matching bitrate
  libvo-*: Fix up the long codec names
  libavcodec: Mark AVCodec->priv_class const
  swscale: Factorize FAST_BGR2YV12 definition.
  libvo-aacenc: Only produce extradata if the global header flag is set
  lavf: postpone removal of public metadata conversion API
  lavc: postpone removal of request_channels
  lavc: postpone removal of audioconvert and sample_fmt wrappers
  lavf: postpone removal of deprecated avio functions
  libopencore-amr: Cosmetics: Rewrap and align
  libopencore-amr, libvo-amrbwenc: Rename variables and functions
  libopencore-amr: Convert commented out debug logging into av_dlog
  libopencore-amr: Remove an unused state variable
  libvo-amrwbenc: Don't explicitly store bitrate modes in the bitrate table
  libopencore-amr: Remove a useless local variable
  libopencore-amr, libvo-amrwbenc: Make the bitrate/mode mapping array static const
  libopencore-amr, libvo-amrwbenc: Return proper error codes in most places
  libopencore-amr: Don't print carriage returns in log messages
  ...

Conflicts:
	doc/developer.texi
	libavcodec/avcodec.h
	libavcodec/libvo-aacenc.c
	libavcodec/libvo-amrwbenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-14 03:21:38 +02:00
Luca Barbato
0e1a5434e2 swscale: Factorize FAST_BGR2YV12 definition.
It is used only for x86 so it will eventually be moved with that code
into the x86 arch subdirectory.
2011-04-13 17:24:53 +02:00
Oskar Arvidsson
d4497f6dfb Add pixel formats for 9- and 10-bit yuv420p.
Also add support for these formats in libswscale.

Needed for high bit depth h264 decoding.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-10 22:33:41 +02:00
Michael Niedermayer
116758a358 Fix yuvj420p scaling artefact, issue1108.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-03 16:40:11 +02:00
Michael Niedermayer
ffd39f9d23 Fix typo from e3a84542.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-30 20:28:03 +02:00
Frank Barchard
e3a8454205 SWSCALE: Increase maximim with from 5120 to 21504
Heres a benchmark

VOFW 5120  VOFW 21504    Note
10438.8    10344.2       timex ffmpeg -y -i tulip2.mp4 tulip2.yuv
25611.9    24256.9       timex ffmpeg -y -itulip2.mp4 -s 1272x724 tulip2.yuv
24485.7    26006.6
28573.1    24291.3
24069.1    26995.9
25684.95   25387.675     average

This is on a Nehalem i7.  Despite being a 500 frame, 720p video, the numbers
fluctuate, so I took an average of 4 runs.

Another reason I'd like this change is youtube accepts videos with higher
resolutions than 5120.
16384 is vp8's maximum resolution, so that should keep us amused for a
little longer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-30 16:33:25 +02:00
Peter Ross
3e2523db20 libswcale: PIX_FMT_BGR48LE and PIX_FMT_BGR48BE scaler implementation 2011-03-26 13:24:32 +11: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
Baptiste Coudurier
df0743e01e Y400A (gray alpha) input support in libswscale
Originally committed as revision 32394 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-09-27 22:24:03 +00:00
Reimar Döffinger
5a55d5b592 More const-correctness fixes to avoid warnings.
Originally committed as revision 31781 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-07-24 11:37:58 +00:00
Ramiro Polla
709c0181fd Restore vertical alignment in some defines
Originally committed as revision 31758 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-07-20 01:45:25 +00:00
Ramiro Polla
c3ab0004ae Revert r31153. It failed to build on:
x86_64 / Mac OS X gcc 4.0.1
x86_64 / Linux icc (all)
x86_64 / Linux gcc 4.0.4
x86_64 / OpenBSD gcc 3.3.5
x86_64 / Linux suncc 5.10
and there are some reports of crashes.

Originally committed as revision 31170 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-05-12 20:47:32 +00:00
Ramiro Polla
d9d14dc607 Use int instead of long to pass width parameters in non-public functions.
long was being incorrectly used as an x86-sized register, both for 32 and 64
bits, but this is not the case in win64.

Originally committed as revision 31153 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-05-11 00:36:34 +00:00
Stefano Sabatini
3de42635bd Avoid duplication of usePal() macro.
Originally committed as revision 30856 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-06 11:50:54 +00:00
Janusz Krzysztofik
a4e441301d Add support to BGR444/RGB444 foreign endian output in libswscale.
Patch by Janusz Krzysztofik |jkrzyszt ^ tis icnet pl|.

Originally committed as revision 30855 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-06 11:27:31 +00:00
Janusz Krzysztofik
601949b898 libswscale: Extend the unaccelerated path of the unscaled yuv2rgb special
converter with support for rgb444 output format.
Patch by Janusz Krzysztofik jkrzyszt chez tis icnet pl

Originally committed as revision 30841 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-05 08:32:54 +00:00
Alexis Ballier
1379b58482 Support BGR555, BGR565, RGB555 and RGB565 foreign endian output in
libswscale.

Patch by Alexis Ballier, alexis D ballier A gmail

Originally committed as revision 30840 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-03-04 16:57:04 +00:00
Michael Niedermayer
81858371d9 Add 3 more RGB makros that allow specifying RGB in bytes and any rgb/bgr.
Originally committed as revision 30434 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-26 08:01:50 +00:00
Michael Niedermayer
3b1ee70312 Rename isRGB() and isBGR() as their meaning is confusing.
Originally committed as revision 30433 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-26 07:40:14 +00:00
Stefano Sabatini
30b6147521 Use av_get_bits_per_pixel() for computing the bits per pixel of the
source and destination format, cache those values in the newly added
SwsContext:srcFormatBpp and SwsContext:dstFormatBpp fields, and remove
the fmt_depth() function.

Originally committed as revision 30419 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-24 12:55:05 +00:00
Ramiro Polla
a4388ebd37 Split swscale.c into scaler code (swscale.c) and utility code (utils.c).
Originally committed as revision 30411 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-24 02:08:22 +00:00
Måns Rullgård
4a88852623 Move array specifiers outside DECLARE_ALIGNED() invocations
Originally committed as revision 30385 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-22 03:26:30 +00:00
Ramiro Polla
5d4d503fd0 Document some more of SwsContext.
Originally committed as revision 30380 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-20 03:26:12 +00:00
Stefano Sabatini
73cadb4f13 Prefer enum PixelFormat to int as the parameter type of
fmt_depth(fmt).

Originally committed as revision 30333 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 19:32:58 +00:00
Ramiro Polla
9556124c97 Document some of SwsContext.
Originally committed as revision 30328 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 19:04:55 +00:00
Ramiro Polla
0cc854e377 Reuse h{lum,chr}Filter{,Pos} variables for MMX2 fast_bilinear horizontal scaler.
Originally committed as revision 30327 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-16 18:39:06 +00:00
Zuxy Meng
a959e24780 Const correctness for src pointer. Remove all constness related warnings in
libswscale.

Originally committed as revision 30306 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2010-01-15 08:51:51 +00:00
Ramiro Polla
a1f4b4bb6e Move fast bilinear scaler code to the existing h[yc]scale_fast() functions.
Originally committed as revision 30098 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-21 01:54:59 +00:00
Ramiro Polla
bb53e1d188 Rename function pointers used to convert from the input pixel format to the
intermediate YV12 to a more descriptive name.

Originally committed as revision 30097 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-21 01:41:29 +00:00
Ramiro Polla
e7a47515ab Check if chroma horizontal scaler is needed in sws_init_swScale().
Originally committed as revision 30096 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-21 01:34:45 +00:00
Ramiro Polla
6f9771d7a6 Remove unused fields from SwsContext.
Originally committed as revision 30095 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-21 01:30:55 +00:00
Ramiro Polla
d3243d1431 Indentation.
Originally committed as revision 30087 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-20 17:42:35 +00:00
Ramiro Polla
bae76dc3eb Set horizontal scaler's range conversion in context in sws_init_swScale().
Originally committed as revision 30082 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-20 16:32:58 +00:00
Ramiro Polla
84011f10d5 Set horizontal scaler's src offsets in context in sws_init_swScale().
Originally committed as revision 30081 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-12-20 16:21:25 +00:00
Lars Täuber
991e579cae Make 16bit YUV formats compatible with NE avcodec_get_pix_fmt().
Patch by Lars Täuber <lars <dot> taeuber <at> gmx <dot> net>.

Originally committed as revision 29650 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-09-05 23:33:11 +00:00
Ramiro Polla
c255994b29 More indentation changes leftover from r29522:
- Align asm code to the column 4 spaces after the call to __asm__();
- Align cases in switch statements to the same column as "switch".

Originally committed as revision 29524 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-16 21:37:07 +00:00
Ramiro Polla
dd68318cee Cosmetics:
- Place curly brackets in the same line as while/for/if/switch/else/do;
- Place curly brackets at column 0 in the next line starting a function.

Originally committed as revision 29523 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-16 21:11:28 +00:00
Ramiro Polla
48f4c61252 MMX2 horizontal scaler: Determine code size at runtime.
Originally committed as revision 29510 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-13 18:31:07 +00:00
Ramiro Polla
bcdedf675f Rename "funny" code to "mmx2 filter" code.
Originally committed as revision 29507 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-08-13 18:28:17 +00:00
Måns Rullgård
a898cdc995 Replace WORDS_BIGENDIAN with HAVE_BIGENDIAN
Originally committed as revision 29439 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-26 12:26:32 +00:00
Ramiro Polla
804db4466d Remove unused variables.
Originally committed as revision 29435 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-21 20:17:15 +00:00
Ramiro Polla
71ed6c8f06 Remove dependency from swscale_internal.h to lavu/internal.h, it is no longer
needed for DECLARE_ALIGNED.
Remove dependency from swscale-example.c to swscale_internal.h by duplicating
the necessary code. The duplicated code is a hack and should be removed once a
cleaner pixel format information system exists. swscale-example.c is example
code on how to use the library and therefore shouldn't rely on internal
headers.

Originally committed as revision 29415 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-09 02:27:39 +00:00
Måns Rullgård
b4b9170234 Use enum PixelFormat in sws_format_name() prototype
Originally committed as revision 29409 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-07-01 12:40:28 +00:00
Diego Biurrun
02163b799d Add libavutil/internal.h #include, required for the DECLARE_ALIGNED macro.
This fixes swscale-example compilation.

Originally committed as revision 29353 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-11 10:19:04 +00:00
Pavel Pavlov
92db623584 Use DECLARE_ALIGNED macro instead of gcc __attribute__.
Patch by Pavel Pavlov <pavel at summit-tech dot ca>

Originally committed as revision 29348 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-04 21:55:52 +00:00
Kostya Shishkov
e8417235d0 Partial (low bits ignored, no direct transcoding into other RGB formats) support
for inputting RGB48BE/LE.

Originally committed as revision 29341 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-06-02 12:28:49 +00:00
Kostya Shishkov
5b21719ea2 Let SwScaler know that RGB48 BE/LE is 16-bits per component format.
Originally committed as revision 29317 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-05-19 17:37:58 +00:00
Kostya Shishkov
075ec82c54 Make SwScaler recognize RGB48 BE/LE colourspaces (not support though).
Originally committed as revision 29316 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale
2009-05-19 17:26:22 +00:00