Commit Graph

24080 Commits

Author SHA1 Message Date
Michael Niedermayer
dc35b77b28 ff_h264_decode_picture_parameter_set: use the correct sps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 00:01:05 +02:00
Diego Biurrun
2d5fd7886a bgmc: Do not mark ff_bgmc_decode_init() as av_cold
The function is possibly called once per block.
2013-05-05 20:51:52 +02:00
Diego Biurrun
bd8ac88214 avcodec: Add av_cold attributes to end functions missing them 2013-05-05 20:51:28 +02:00
Carl Eugen Hoyos
a07ac1f788 Fix type of shared flac table ff_flac_blocksize_table[].
Fixes ticket #2533.
2013-05-05 19:29:00 +02:00
Rainer Hochecker
fe1f36547d register AV_PIX_FMT_VDPAU for hwaccel 2013-05-05 16:15:41 +02:00
Rainer Hochecker
b37cc5995b fix vdpau vc1 interlace modes 2013-05-05 15:12:59 +02:00
Michael Niedermayer
cdfa1c89b7 avcodec: Set frame.width/height on all exit pathes of ff_get_buffer()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 14:23:16 +02:00
Michael Niedermayer
a1f234be11 make the ordering of the return type and av_cold consistent
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 13:13:00 +02:00
Michael Niedermayer
0aa095483d Merge commit '6fee1b90ce3bf4fbdfde7016e0890057c9000487'
* commit '6fee1b90ce3bf4fbdfde7016e0890057c9000487':
  avcodec: Add av_cold attributes to init functions missing them

Conflicts:
	libavcodec/aacpsy.c
	libavcodec/atrac3.c
	libavcodec/dvdsubdec.c
	libavcodec/ffv1.c
	libavcodec/ffv1enc.c
	libavcodec/h261enc.c
	libavcodec/h264_parser.c
	libavcodec/h264dsp.c
	libavcodec/h264pred.c
	libavcodec/libschroedingerenc.c
	libavcodec/libxvid_rc.c
	libavcodec/mpeg12.c
	libavcodec/mpeg12enc.c
	libavcodec/proresdsp.c
	libavcodec/rangecoder.c
	libavcodec/videodsp.c
	libavcodec/x86/proresdsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 11:34:29 +02:00
Reimar Döffinger
d82729e5d9 Detect and skip mj2-style jp2c header.
This this fixes one of the issues with
http://blogs.bu.edu/mhirsch/files/2012/08/Rotate180CCW-checkerboard.mj2_.zip
and at least allows to demux the file properly instead
of failing during probing.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-05-05 10:01:22 +02:00
Claudio Freire
1ef82cc60d AAC encoder: Fix rate control on twoloop.
Fixes a case where multichannel bitrate isn't accurately
targetted by psy model alone, never achieving the target bitrate.
Now fixed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 04:19:34 +02:00
Claudio Freire
c545876d1b AAC encoder: Fixed a rounding bug in psy's channel bitrate computation.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 01:24:57 +02:00
Michael Niedermayer
369a120826 xbmdec: fix off by one error in scanf()
Fixes out of array access

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 00:27:18 +02:00
Diego Biurrun
6fee1b90ce avcodec: Add av_cold attributes to init functions missing them 2013-05-04 21:09:45 +02:00
Michael Niedermayer
c40f51e15b h264: Always decode MMCOs into temprary array
When decoding succeeded the array is copied into the permanent one.
This prevents inconsistencies
Fixes assertion failure

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 20:23:05 +02:00
Michael Niedermayer
c7a7605656 wmaprodec: Fix null pointer dereference in decode_frame()
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 16:51:01 +02:00
Michael Niedermayer
e9e207ece7 dfa: Put our pointer check back.
The reimplementation by Libav does not prevent out of array
writes, even though it looks like it does at a quick glance.

No FFmpeg releases are affected by this

See: d1c95d2ce3
     3623589edc
     740ebe468c

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 14:42:19 +02:00
Hendrik Leppkes
d18341fb11 aacdec: free frame buffer if no audio was decoded
If no decoding error was detected, but still no audio was decoded, the
frame needs to be free'ed, or it will leak.

Fixes part of ticket #2095

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 13:20:19 +02:00
Michael Niedermayer
0104570fb6 Merge commit 'a5f8873620ce502d37d0cc3ef93ada2ea8fb8de7'
* commit 'a5f8873620ce502d37d0cc3ef93ada2ea8fb8de7':
  silly typo fixes

Conflicts:
	doc/protocols.texi
	libavcodec/aacpsy.c
	libavformat/utils.c
	tools/patcheck

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 10:17:52 +02:00
Michael Niedermayer
711c8ee71d Merge commit '4a7af92cc80ced8498626401ed21f25ffe6740c8'
* commit '4a7af92cc80ced8498626401ed21f25ffe6740c8':
  sbrdsp: Unroll and use integer operations
  sbrdsp: Unroll sbr_autocorrelate_c
  x86: sbrdsp: Implement SSE2 qmf_deint_bfly

Conflicts:
	libavcodec/sbrdsp.c
	libavcodec/x86/sbrdsp.asm
	libavcodec/x86/sbrdsp_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 10:07:43 +02:00
Michael Niedermayer
f18d2dff11 evrcdec: fix sign error
The specification wants round(abs(x))) * sign(x) which is
equivakent to round(x)

Fixes out of array access

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 02:50:30 +02:00
Michael Niedermayer
64819bfc7a snow: Fix off by 1 error in reference picture management
Fixes out of array accesses
No release is affected by this bug

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-04 01:19:48 +02:00
Michael Niedermayer
e756635964 eamad: Check against minimum supported dimensions
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 23:17:37 +02:00
Diego Biurrun
a5f8873620 silly typo fixes 2013-05-03 18:26:12 +02:00
Christophe Gisquet
4a7af92cc8 sbrdsp: Unroll and use integer operations
This patch can be controversial, by assuming floats are IEEE-754 and
particular behaviour of the FPU will get in the way.
Timing on Arrandale and Win32 (thus, x87 FPU is used in the reference).

sbr_qmf_pre_shuffle_c: 115 to 76
sbr_neg_odd_64_c: 84 to 55
sbr_qmf_post_shuffle_c: 112 to 83

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-03 18:23:30 +02:00
Christophe Gisquet
8394d9a676 sbrdsp: Unroll sbr_autocorrelate_c
1410 cycles to 1148 on Arrandale/Win64

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-03 18:23:30 +02:00
Christophe Gisquet
5a97469a4f x86: sbrdsp: Implement SSE2 qmf_deint_bfly
Sandybridge: 47 cycles

Having a loop counter is a 7 cycle gain.
Unrolling is another 7 cycle gain.
Working in reverse scan is another 6 cycles.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-05-03 18:23:14 +02:00
Michael Niedermayer
d29f9f4a0e vc1dec: fix lutuv use in vc1_mc_4mv_chroma4()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 18:09:15 +02:00
Michael Niedermayer
7e30bfcb91 vc1dec: Fix mixed field/frame intensity compensation
Fixes Ticket2523

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 18:04:48 +02:00
Michael Niedermayer
90c2e40ebb vc1dec: vc1_mc_4mv_chroma4: match addressing between compensation and MC
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 18:04:48 +02:00
Michael Niedermayer
9fd5e75bdf Merge commit 'accde1bd8756936e1757b42fc9bad2eb5d192f8a'
* commit 'accde1bd8756936e1757b42fc9bad2eb5d192f8a':
  vc1_parser: Set field_order.
  mpegvideo_parser: Set field_order.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 13:03:00 +02:00
Michael Niedermayer
6fc58a8cb6 Merge commit '507b1e454cf9953da3e18f33c9bd1fca78c97cb5'
* commit '507b1e454cf9953da3e18f33c9bd1fca78c97cb5':
  avcodec: Add field order information to AVCodecParserContext.

Conflicts:
	doc/APIchanges
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 12:15:01 +02:00
Michael Niedermayer
2ee29b5fb9 avcodec: move lowres down with the next ABI bump and add accessors
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 11:32:04 +02:00
Michael Niedermayer
88ef7f6d2b Merge commit '803d21f38bdafe7c4e2571a9ae7052013a12923b'
* commit '803d21f38bdafe7c4e2571a9ae7052013a12923b':
  lavc: schedule AVCodecContext.lowres for removal on next bump.

Conflicts:
	libavcodec/avcodec.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 11:30:00 +02:00
Michael Niedermayer
1ba4cbf734 Merge commit '6b753015ca6f93d16a05e1a97da1fa42e4da60ec'
* commit '6b753015ca6f93d16a05e1a97da1fa42e4da60ec':
  aac: Remove aacpsy.h header, unused since 78e65cd772
  cavs: Remove cavsdata.h header, unused since 88386feefd

Conflicts:
	libavcodec/aacpsy.h
	libavcodec/cavsdata.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 10:55:43 +02:00
Michael Niedermayer
05599308e9 Merge commit 'bf7c3c6b157f7938578f964b62cffd5e504940be'
* commit 'bf7c3c6b157f7938578f964b62cffd5e504940be':
  x86: dsputil: Move cavs and vc1-specific functions where they belong

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 10:50:27 +02:00
Michael Niedermayer
35ef98013d Merge commit '932806232108872655556100011fe369125805d3'
* commit '932806232108872655556100011fe369125805d3':
  x86: dsputil: Move avg_pixels16_mmx() out of rnd_template.c
  x86: dsputil: Move avg_pixels8_mmx() out of rnd_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 10:44:09 +02:00
Michael Niedermayer
ed1697ffcb Merge commit '9b3a04d30691e85b77e63f75f5f26a93c3a000cd'
* commit '9b3a04d30691e85b77e63f75f5f26a93c3a000cd':
  x86: Move duplicated put_pixels{8|16}_mmx functions into their own file

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-03 10:36:52 +02:00
Masaki Tanaka
accde1bd87 vc1_parser: Set field_order.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-03 08:20:19 +02:00
Masaki Tanaka
f43c14d046 mpegvideo_parser: Set field_order.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-03 08:20:11 +02:00
Masaki Tanaka
507b1e454c avcodec: Add field order information to AVCodecParserContext.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-05-03 08:16:10 +02:00
Anton Khirnov
803d21f38b lavc: schedule AVCodecContext.lowres for removal on next bump.
It has been deprecated some time ago, but was forgotten during the last
bump.
2013-05-03 08:07:35 +02:00
Michael Niedermayer
ae2132ac90 mmvideo/mm_decode_intra: check horizontal coordinate too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 22:12:19 +02:00
Michael Niedermayer
8d3c99e825 mmvideo/mm_decode_inter: check horizontal coordinate too
Fixes out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 22:05:19 +02:00
Diego Biurrun
6b753015ca aac: Remove aacpsy.h header, unused since 78e65cd772 2013-05-02 18:16:06 +02:00
Diego Biurrun
153f31b1af cavs: Remove cavsdata.h header, unused since 88386feefd 2013-05-02 18:15:37 +02:00
Michael Niedermayer
60ab448042 ape_decode_value_3860: check k before using it in get_bits()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 17:24:02 +02:00
Michael Niedermayer
8937230719 ape_decode_value_3900: check tmpk
Fixes division by 0

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 16:45:32 +02:00
Paul B Mahol
663794f63d vmdav: unbreak decoding of samples from game The Last Dynasty
This fixes video output with samples HG060808.VMD and
HG060810.VMD. Regression since c0cbe36b18.

While here show warning if decoding is aborted for some reason.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-02 11:37:59 +00:00
Paul B Mahol
cdada4f639 vmdav: return meaningful error codes
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-05-02 11:34:14 +00:00
Michael Niedermayer
4d4ec18b21 Merge remote-tracking branch 'cehoyos/master'
* cehoyos/master:
  Add wmv2 dependency to vc1 compilation.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 13:02:09 +02:00
Michael Niedermayer
0beff42823 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  id3v2: K&R formatting cosmetics
  ppc: Only compile AltiVec FFT assembly when AltiVec is enabled

Conflicts:
	libavformat/id3v2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 12:49:23 +02:00
Diego Biurrun
bf7c3c6b15 x86: dsputil: Move cavs and vc1-specific functions where they belong 2013-05-02 11:45:37 +02:00
Diego Biurrun
9328062321 x86: dsputil: Move avg_pixels16_mmx() out of rnd_template.c
The function does not do any rounding, so there is no point in
keeping it in a round template file.
2013-05-02 11:45:37 +02:00
Diego Biurrun
9c112a6158 x86: dsputil: Move avg_pixels8_mmx() out of rnd_template.c
The function is only instantiated once, so there is no point
in keeping it in a template file.
2013-05-02 11:45:37 +02:00
Diego Biurrun
9b3a04d306 x86: Move duplicated put_pixels{8|16}_mmx functions into their own file 2013-05-02 11:16:45 +02:00
Carl Eugen Hoyos
d0a661d48a Add wmv2 dependency to vc1 compilation.
Fixes compilation with --disable-everything --enable-decoder=vc1.
2013-05-02 11:04:57 +02:00
Diego Biurrun
a650c906cb ppc: Only compile AltiVec FFT assembly when AltiVec is enabled 2013-05-02 10:25:30 +02:00
Michael Niedermayer
6021615bbe avcodec/ansi: Fix right/bottom end checks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 02:16:41 +02:00
Michael Niedermayer
e91fd754c6 avcodec/ansi: Check x/y
This prevents out of array accesses

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-02 02:15:40 +02:00
Michael Niedermayer
c1f2c4c3b4 vmdav: Try to fix unpack_rle()
This fixes out of array accesses
The code prior to this commit could not have worked, thus obviously
was untested. I was also not able to find a valid sample that uses this
code.
This fix is thus only based on the description of the format

If someone has a sample that uses unpack_rle(), please mail me.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 23:51:05 +02:00
Michael Niedermayer
d602f16a37 Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavc: copy subtitle_header when copying context.
  lavf: data muxer and demuxer.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 20:16:26 +02:00
Michael Niedermayer
67731ef40f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avutil: doxy: Small clarification for av_buffer_create()
  avcodec: doxy: Clarify how to use buf[] when implementing get_buffer2()
  avcodec: doxy: Clarify what get_buffer2 must fill in buf[]

Conflicts:
	libavutil/buffer.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 18:33:30 +02:00
Michael Niedermayer
dbcf7e9ef7 Merge commit '7f75f2f2bd692857c1c1ca7f414eb30ece3de93d'
* commit '7f75f2f2bd692857c1c1ca7f414eb30ece3de93d':
  ppc: Drop unnecessary ff_ name prefixes from static functions
  x86: Drop unnecessary ff_ name prefixes from static functions
  arm: Drop unnecessary ff_ name prefixes from static functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 18:21:35 +02:00
Michael Niedermayer
04fa818779 Merge commit '088f38a4f9f54bb923405c67c9e72d96d90aa284'
* commit '088f38a4f9f54bb923405c67c9e72d96d90aa284':
  avcodec: Drop unnecessary ff_ name prefixes from static functions

Conflicts:
	libavcodec/ass.c
	libavcodec/h264_parser.c
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 18:16:32 +02:00
Michael Niedermayer
cae8f469fe Merge commit '38282149b6ce8f4b8361e3b84542ba9aa8a1f32f'
* commit '38282149b6ce8f4b8361e3b84542ba9aa8a1f32f':
  ppc: More consistent arch initialization

Conflicts:
	libavcodec/fft.h
	libavcodec/mpegaudiodsp.c
	libavcodec/mpegaudiodsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 18:08:13 +02:00
Michael Niedermayer
ebd99ff112 Merge commit '42b9150b0d4f0a130c1d93dc991fd5412743a8cf'
* commit '42b9150b0d4f0a130c1d93dc991fd5412743a8cf':
  fft: Remove pointless #ifdefs around function declarations
  ppc: Move AltiVec utility headers out of AltiVec ifdefs

Conflicts:
	libavcodec/fft.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 18:02:36 +02:00
Michael Niedermayer
3ad5d8694c Merge commit '6b110d3a739c31602b59887ad65c67025df3f49d'
* commit '6b110d3a739c31602b59887ad65c67025df3f49d':
  ppc: More consistent names for H.264 optimizations files
  mpegaudiosp: More consistent names for ppc/x86 optimization files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 17:53:33 +02:00
Nicolas George
ceb33f3aee lavc: copy subtitle_header when copying context.
Fix trac ticket #2489.
2013-05-01 11:56:34 +02:00
Michael Niedermayer
52fa2945b5 Merge commit 'e036bb7899d0faca9159206be9bf5552e76e7633'
* commit 'e036bb7899d0faca9159206be9bf5552e76e7633':
  lavc: clear AVBuffers on decoded frames if refcounted_frames is not set
  FATE: add an additional indeo3 test

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 10:00:08 +02:00
Michael Niedermayer
d8b6557c86 Merge commit 'bda9e6d923df6d46cc5cafb30a59a01d2514fa61'
* commit 'bda9e6d923df6d46cc5cafb30a59a01d2514fa61':
  indeo3: use put_pixels instead of put_no_rnd_pixels in copy_cell()

Conflicts:
	libavcodec/indeo3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 09:51:37 +02:00
Michael Niedermayer
71091698a2 Merge commit '95220be1faac628d849a004644c0d102df0aa98b'
* commit '95220be1faac628d849a004644c0d102df0aa98b':
  indeo3: fix off by one in MV validity check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 09:45:09 +02:00
Michael Niedermayer
fbaf75b166 h264: Use the correct croping values.
This fixes returning pictures with corrupted data pointers.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-01 00:06:26 +02:00
Michael Niedermayer
5299ee54a7 h264: assert that croping values at slice level are consistent
These values where checked before already.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-30 23:49:56 +02:00
Michael Niedermayer
c3bd306e78 h264_ps: check croping values
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-30 23:48:53 +02:00
Derek Buitenhuis
00b8e650e8 avcodec: doxy: Clarify how to use buf[] when implementing get_buffer2()
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-04-30 13:33:43 -04:00
Derek Buitenhuis
4cdb3c50b5 avcodec: doxy: Clarify what get_buffer2 must fill in buf[]
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-04-30 13:32:58 -04:00
Diego Biurrun
7f75f2f2bd ppc: Drop unnecessary ff_ name prefixes from static functions 2013-04-30 16:10:06 +02:00
Diego Biurrun
f2e9d44a57 x86: Drop unnecessary ff_ name prefixes from static functions 2013-04-30 16:02:03 +02:00
Diego Biurrun
383fd4d478 arm: Drop unnecessary ff_ name prefixes from static functions 2013-04-30 16:02:03 +02:00
Diego Biurrun
088f38a4f9 avcodec: Drop unnecessary ff_ name prefixes from static functions 2013-04-30 16:02:02 +02:00
Michael Niedermayer
53efb2fa09 gif: Fix little endian specific code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-30 13:35:14 +02:00
Diego Biurrun
38282149b6 ppc: More consistent arch initialization 2013-04-30 12:19:45 +02:00
Diego Biurrun
42b9150b0d fft: Remove pointless #ifdefs around function declarations 2013-04-30 12:19:44 +02:00
Diego Biurrun
a053dbfcfb ppc: Move AltiVec utility headers out of AltiVec ifdefs
Now that the headers themselves have ifdef protection this is no
longer necessary and more consistent with normal include handling.
2013-04-30 12:19:44 +02:00
Diego Biurrun
6b110d3a73 ppc: More consistent names for H.264 optimizations files 2013-04-30 12:19:43 +02:00
Diego Biurrun
643e433bf7 mpegaudiosp: More consistent names for ppc/x86 optimization files 2013-04-30 12:19:43 +02:00
Anton Khirnov
e036bb7899 lavc: clear AVBuffers on decoded frames if refcounted_frames is not set
Otherwise some code might mistakenly think it is allowed to unref those
buffers, which would lead to double unref.
2013-04-30 11:15:32 +02:00
Anton Khirnov
bda9e6d923 indeo3: use put_pixels instead of put_no_rnd_pixels in copy_cell()
They are the same in this case, except put_pixels also has blocksizes
smaller than 8.
2013-04-30 11:06:03 +02:00
Anton Khirnov
95220be1fa indeo3: fix off by one in MV validity check
CC:libav-stable@libav.org
2013-04-30 11:06:03 +02:00
Michael Niedermayer
01a5a3a2e8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: dsputil: Remove a set of pointless #ifs around function declarations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-30 08:42:10 +02:00
Michael Niedermayer
a3030d47e7 Merge commit '85f2f82af66fade2f5af2a03c5011d7de1b6e295'
* commit '85f2f82af66fade2f5af2a03c5011d7de1b6e295':
  x86: dsputil: cosmetics: Group ff_{avg|put}_pixels16_mmxext() declarations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-30 08:25:24 +02:00
Diego Biurrun
97c56ad796 x86: dsputil: Remove a set of pointless #ifs around function declarations 2013-04-30 01:42:32 +02:00
Diego Biurrun
85f2f82af6 x86: dsputil: cosmetics: Group ff_{avg|put}_pixels16_mmxext() declarations 2013-04-30 01:41:05 +02:00
Michael Niedermayer
16b2472d20 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: hpeldsp: Remove unused macro definitions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-29 22:01:53 +02:00
Diego Biurrun
20784aa678 x86: hpeldsp: Remove unused macro definitions 2013-04-29 15:57:00 +02:00
Michael Niedermayer
b691bc424f copy_packet_data: fix memleak
This should fix gif fate memleaks

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-29 03:08:50 +02:00
Michael Niedermayer
5149407731 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  aac: check the maximum number of channels

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 13:54:56 +02:00
Michael Niedermayer
65af5e815a Merge commit '1b6f84a98665a15130e969fd6b460a05d50090c1'
* commit '1b6f84a98665a15130e969fd6b460a05d50090c1':
  h264_refs: Do not print check_opcodes() return value

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-28 13:40:47 +02:00
Luca Barbato
a943a132f3 aac: check the maximum number of channels
Broken bitstreams could report a larger than specified number of
channels and cause outbound writes.

CC:libav-stable@libav.org
2013-04-28 00:40:33 +02:00
Michael Niedermayer
7f138310fb ffv1enc: favor version 3 over 2 unless -strict -2 is set
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 22:48:13 +02:00
Diego Biurrun
1b6f84a986 h264_refs: Do not print check_opcodes() return value
The return value provides no useful information and removing the printing
avoids the following warning:
libavcodec/h264_refs.c:788:15: warning: 'i' may be used uninitialized in this function [-Wuninitialized]
2013-04-27 19:13:45 +02:00
Michael Niedermayer
d4868a960b ffv1dec: remove redundant error message.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 16:36:05 +02:00
Michael Niedermayer
ff0b4c08ca ffv1dec: add code to support frame threading with gop=1 ffv1
CODEC_CAP_FRAME_THREADS is not added yet because that would
unconditionally enable it, breaking gop>1 files.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 16:20:42 +02:00
Michael Niedermayer
1a392fc550 ffv1: Store a flag in the global header that indicates if all frames are keyframes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 16:17:29 +02:00
Michael Niedermayer
3fa6c992d9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: ac3dsp: Remove 3dnow version of ff_ac3_extract_exponents

Conflicts:
	tests/fate/ac3.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 11:35:03 +02:00
Michael Niedermayer
24bb01f038 avcodec_string: Print the used codec if it differs from the codec_id name.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 00:49:14 +02:00
Michael Niedermayer
59a3b6b751 avcodec_string: remove the "(hq)" listing
printing "hq" depending on a single video encoding parameter makes
little sense

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 00:49:12 +02:00
Michael Niedermayer
9a0aa8d02a avcodec/intrax8: fix regression with wmv3
This also decreases dependancies between intrax8 and the outside

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 23:04:15 +02:00
Diego Biurrun
7c00e9d8ae x86: ac3dsp: Remove 3dnow version of ff_ac3_extract_exponents
The function requires increasing the fuzz factor for the ac3/eac3 encode
tests and even so makes fate fail. It only provides a slight encoding
speedup for legacy CPUs that do not support SS2. Thus its benefit is not
worth the trouble it creates and fixing it would be a waste of time.
2013-04-26 21:06:52 +02:00
Michael Niedermayer
d78329700d vc1dec: make sure next_use_ic is set correctly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 15:50:32 +02:00
Michael Niedermayer
ee4c01bef6 vc1dec: factor lut clean code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 15:39:32 +02:00
Paul B Mahol
30579b7ef0 dcaenc: silence address sanitizer warning
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-26 11:41:00 +00:00
Michael Niedermayer
721ffc691a Merge remote-tracking branch 'qatar/master'
* commit '74685f6783e77f2545d48bd2124945ad5be39982':
  x86: Rename dsputil_rnd_template.c to rnd_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 11:10:57 +02:00
Michael Niedermayer
05f4c05061 vc1dec: remove interlaced warning
While not yet bugfree, the warning is IMHO no longer appropriate

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-26 03:44:05 +02:00
Michael Niedermayer
688fc4ac56 vc1dec: Try to fix vc1_mc_4mv_chroma4() parameters
This fixes several chroma artifacts in several videos

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 22:39:19 +02:00
Michael Niedermayer
9b49d3974e vc1dec: add avg & variable direction support to vc1_mc_4mv_chroma4()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 22:39:19 +02:00
Michael Niedermayer
dd6e291e40 vc1dsp: add avg_no_rnd_vc1_chroma_mc4_c()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 22:39:19 +02:00
Michael Niedermayer
5183365aeb vc1dec: fix doxy for vc1_mc_4mv_chroma4()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 22:39:19 +02:00
Paul B Mahol
2c5700c5e2 vima: add @file doxy
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 20:17:05 +00:00
Paul B Mahol
da22760364 vima: generate predict_table once, and share it with all decoders
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 20:15:33 +00:00
Paul B Mahol
77570a390d lavc/cdxl: add @file doxy
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 20:06:13 +00:00
Martin Storsjö
74685f6783 x86: Rename dsputil_rnd_template.c to rnd_template.c
This makes it less confusing when this template is shared both by
dsputil and by hpeldsp.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-25 23:03:09 +03:00
Paul B Mahol
e1ba5fc968 dcaenc: update
Long story short: previous code was useless and was port of older
dcaenc, this commit just "sync" with current dcaenc, hopefuly
making this encoder more useful.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-25 14:21:00 +00:00
Michael Niedermayer
8f0db04b08 avcodec/pthread: use THREAD_SAFE_CALLBACKS() to simplifx more code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 16:01:42 +02:00
Michael Niedermayer
94b3a666fa avcodec/pthread: Make sure ff_thread_finish_setup() conditions match
Prevents warning from being shown due to multiple calls.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 15:55:01 +02:00
Michael Niedermayer
32a6dfeb12 vc1dec: drop mv_f_last, simplify code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-25 13:51:44 +02:00
Paul B Mahol
aa96439fae lavc: remove unused put_bits.h headers
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-24 23:17:09 +00:00
Michael Niedermayer
d382170c5d Merge remote-tracking branch 'cigaes/master'
* cigaes/master:
  lavc: check decoded subtitles encoding.
  lavu: fix GET_UTF8 macro.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 23:56:48 +02:00
Michael Niedermayer
12e3c1bee4 vc1dec: drop old use_ic code from vc1_b_mc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 21:56:34 +02:00
Michael Niedermayer
100184ccff vc1: use use_ic instead of shuffling mv_mode around
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 21:08:17 +02:00
Michael Niedermayer
84c0ec92ae vc1dec: Implement intensity compensation for vc1_interp_mc()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 21:08:17 +02:00
Michael Niedermayer
782ebd6118 vc1dec: redesign the intensity compensation
The existing implementation had little to do with VC1.
This could be implemented by adjusting the reference frames
ithemselfs but that would make frame multi-threading difficult.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 21:07:26 +02:00
Nicolas George
70feca926b lavc: check decoded subtitles encoding.
Address trac ticket #2431.
2013-04-24 19:41:27 +02:00
Michael Niedermayer
c560437e95 vc1: make INIT_LUT() self contained
factorize variable declarations

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 15:33:11 +02:00
Michael Niedermayer
c5669f3c59 vc1dec: fix current ptr selection in vc1_mc_4mv_chroma()
No sample tried shows a difference

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 15:05:25 +02:00
Michael Niedermayer
236b0c4084 vc1dec: factorize picture pointer selection in vc1_mc_4mv_chroma()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 14:59:49 +02:00
Michael Niedermayer
72e5d91908 vc1dec: factorize picture pointer selection code
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 14:50:41 +02:00
Michael Niedermayer
3fdd0979ac vc1dec: Fix mv_f shuffling
Avoid a (confusing) memcpy()
Simpler code
Fixes a small number of artifacts in black_screen_VC-1.mkv
and several more artifacts in other videos

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 14:06:07 +02:00
Michael Niedermayer
1d0f817b17 vc1dec: Fix mv_f shuffling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 13:16:27 +02:00
Michael Niedermayer
62d9445396 vc1: simplify code use INIT_LUT()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 12:52:52 +02:00
Michael Niedermayer
2e789d165b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: Get rid of duplication between *_rnd_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 10:17:28 +02:00
Michael Niedermayer
8d86cf4cfa Merge commit 'feec9349d35b3a46d0c6a05e3b23626050b76a77'
* commit 'feec9349d35b3a46d0c6a05e3b23626050b76a77':
  mpegvideo: unref cur/next/prev frames when flushing

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 10:11:34 +02:00
Michael Niedermayer
c2a0833c09 Merge commit '6a8561dbd7c078eb75985f7011ad1ad3fda9e223'
* commit '6a8561dbd7c078eb75985f7011ad1ad3fda9e223':
  x86: Factorize duplicated inline assembly snippets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 10:01:15 +02:00
Michael Niedermayer
03b81df9e6 Merge commit '2e2d24667a2c5cc7af94cfa7b63bb9ec1c04224b'
* commit '2e2d24667a2c5cc7af94cfa7b63bb9ec1c04224b':
  jpeg2000: Add mutlti-threading support to decoder

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 09:55:59 +02:00
Michael Niedermayer
fc69033371 avcodec/x86/sbrdsp_init: disable using the noise code in x86_64 MSVC, Try #2
This should fix building with MSVC until someone can change the
    code so it works with MSVC

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-24 02:02:25 +02:00
Martin Storsjö
486f76f029 x86: Get rid of duplication between *_rnd_template.c
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-23 23:30:17 +03:00
Hendrik Leppkes
feec9349d3 mpegvideo: unref cur/next/prev frames when flushing
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-04-23 19:11:59 +02:00
Martin Storsjö
6a8561dbd7 x86: Factorize duplicated inline assembly snippets
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-23 15:07:31 +02:00
Michael Niedermayer
7a617d6c17 avcodec/x86/sbrdsp_init: disable using the noise code in x86_64 MSVC
This should fix building with MSVC until someone can change the
code so it works with MSVC

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 12:46:28 +02:00
Nicolas Bertrand
2e2d24667a jpeg2000: Add mutlti-threading support to decoder
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-23 11:53:04 +02:00
Michael Niedermayer
0a73803c86 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: Move some conditional code around to avoid unused variable warnings

Conflicts:
	libavcodec/x86/dsputil_mmx.c
	libavfilter/x86/vf_yadif_init.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 11:01:46 +02:00
Michael Niedermayer
5056cff125 Merge commit '10f1a4d9bd8239ac64f364e0d3b6423c28230d6d'
* commit '10f1a4d9bd8239ac64f364e0d3b6423c28230d6d':
  jpeg2kdec: output is native endian AV_PIX_FMT_XYZ12

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 10:24:49 +02:00
Michael Niedermayer
7c49c8b0ac Merge commit '94660c35249e11c53b9a9f0c2f85c4335b21eda7'
* commit '94660c35249e11c53b9a9f0c2f85c4335b21eda7':
  threads: always call thread_finish_setup for intra codecs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-23 10:12:58 +02:00
Piotr Bandurski
f4596e8bb6 mjpegdec: Add support for 4:1:1 YUV
Fixes part of ticket 2004
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 22:03:09 +02:00
Michael Niedermayer
2ae91c86f3 avcodec_get_context_defaults3: set codec_id
Fixes Ticket1996

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 21:44:05 +02:00
Michael Niedermayer
e2e9bee2da Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec: Bump minor for JPEG 2000 decoder
  JPEG 2000 decoder for DCinema

The mqc code is merged, the rest is added independent of
the existing jpeg2000 decoder and encoder.

Conflicts:
	Changelog
	doc/general.texi
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/mqc.c
	libavcodec/mqc.h
	libavcodec/mqcdec.c
	libavcodec/version.h
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 20:00:54 +02:00
Michael Niedermayer
c1c2b0b339 avcodec: rename jpeg2000 decoder to j2k
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 19:28:33 +02:00
Michael Niedermayer
7a556ebccf Merge commit '0c15a9aa7e1654a19144eb594f9639a57fd47482'
* commit '0c15a9aa7e1654a19144eb594f9639a57fd47482':
  sh4: Remove dubious aligned dsputil code

Conflicts:
	libavcodec/sh4/dsputil_align.c
	libavcodec/sh4/h264chroma_init.c
	libavcodec/sh4/hpeldsp.c
	libavcodec/sh4/qpel.c

If someone wants to maintain the sh4 code in ffmpeg, wants to
add more optimizations, or volunteers to maintain any of
what is removed here and can confirm that they are faster.
Then please contact us!

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 18:59:23 +02:00
Michael Niedermayer
430d69c942 Merge commit 'b4ad7c54c878dead7dfa4838b912a530c1debe85'
* commit 'b4ad7c54c878dead7dfa4838b912a530c1debe85':
  x86: cavs: Refactor duplicate dspfunc macro

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 18:37:44 +02:00
Michael Niedermayer
f84e373797 Merge commit '78fa0bd0f7067868943c0899907e313414492426'
* commit '78fa0bd0f7067868943c0899907e313414492426':
  x86: cavs: Put mmx-specific code into its own init function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 18:29:05 +02:00
Diego Biurrun
c1ad70c3cb x86: Move some conditional code around to avoid unused variable warnings 2013-04-22 17:50:02 +02:00
Janne Grunau
10f1a4d9bd jpeg2kdec: output is native endian AV_PIX_FMT_XYZ12 2013-04-22 17:11:21 +02:00
Janne Grunau
94660c3524 threads: always call thread_finish_setup for intra codecs
Intra codecs do not need an update_thread_context() function and never
call ff_thread_finish_setup(). They rely on ff_thread_get_buffer()
calling it. So call it even if the get_buffer2 function pointer is
avcodec_default_get_buffer2 and it has not been called before.
2013-04-22 17:11:20 +02:00
Diego Biurrun
f13888afcc avcodec: Bump minor for JPEG 2000 decoder 2013-04-22 15:52:43 +02:00
Nicolas Bertrand
c81a706381 JPEG 2000 decoder for DCinema
Based on the 2007 GSoC project from Kamil Nowosad <k.nowosad@students.mimuw.edu.pl>
Updated to current programming standards, style and many more small
fixes by Diego Biurrun <diego@biurrun.de>.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-22 15:38:29 +02:00
Michael Niedermayer
2288c77689 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: Remove some duplicate function declarations

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 13:07:20 +02:00
Diego Biurrun
0c15a9aa7e sh4: Remove dubious aligned dsputil code
The code represents a considerable maintenance burden and it is not
clear that it gives a noticeable benefit to outweigh this after 10
years of improvements in compiler technology since its creation.
2013-04-22 12:12:24 +02:00
Diego Biurrun
b4ad7c54c8 x86: cavs: Refactor duplicate dspfunc macro 2013-04-22 12:05:09 +02:00
Diego Biurrun
fce99322b0 h264: Drop unused variable 2013-04-22 12:05:09 +02:00
Diego Biurrun
78fa0bd0f7 x86: cavs: Put mmx-specific code into its own init function
Before, this code was labeled as mmxext and enabled both for the
3dnow and the mmxext case.
2013-04-22 10:42:50 +02:00
Diego Biurrun
311a592dfc x86: Remove some duplicate function declarations 2013-04-22 02:29:57 +02:00
Michael Niedermayer
de9fbf3dc4 indeo4: implement haar 8x1 and 1x8 transforms
Fixes Ticket1984
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-22 02:29:12 +02:00
Michael Niedermayer
83330cf5fa init_vlc_sparse: fix leak on error
Fixes CID1005312

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 11:55:19 +02:00
Michael Niedermayer
2d23493020 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ppc: hpeldsp: Include attributes.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 09:54:02 +02:00
Roberto Togni
8017683647 qdm2: initialize coeff_per_sb_select from bit_rate
The value of coeff_per_sb_select depends on the bit rate, not on
sub_sampling.
Also remove the calculation of tmp, no longer needed.

Fixes tickets #1868 and #742 (only audio part)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-21 02:00:06 +02:00
Michael Niedermayer
4824aea7af avcodec/mpegvideo: change asserts to av_asserts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 21:31:19 +02:00
Michael Niedermayer
0dd25e4699 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: Remove unused inline asm instruction defines
  vc1: Remove now unused variables

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 16:24:15 +02:00
Michael Niedermayer
0e3d2b2c8d Merge commit '287c8db39e71af7047e551bbfd1264d771cccbc9'
* commit '287c8db39e71af7047e551bbfd1264d771cccbc9':
  cosmetics: bfin: Fix indentation in the dsputil init function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 16:19:59 +02:00
Michael Niedermayer
9ae56b85b6 Merge commit 'd4d186d185df98492d8935a87c5b5cf369db9748'
* commit 'd4d186d185df98492d8935a87c5b5cf369db9748':
  dsputil: Remove non-8bpp draw_edge

Conflicts:
	libavcodec/dsputil.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 16:07:20 +02:00
Michael Niedermayer
f6dcd844ee Merge commit '619e0da19119bcd683f135fe9a164f37c0ca70d1'
* commit '619e0da19119bcd683f135fe9a164f37c0ca70d1':
  dsputil: Remove unused 32-bit functions

Conflicts:
	libavcodec/dsputil.c
	libavcodec/dsputil_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 15:55:29 +02:00
Martin Storsjö
6d0fbebf94 ppc: hpeldsp: Include attributes.h
This fixes building in configurations where altivec is disabled.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-20 16:43:01 +03:00
Michael Niedermayer
d2d2c309e8 Merge commit '54cd5e4f92de6bd0fb8e24069153b0156c8136bc'
* commit '54cd5e4f92de6bd0fb8e24069153b0156c8136bc':
  dsputil: Remove hpel functions (moved to hpeldsp)

Conflicts:
	libavcodec/hpeldsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 15:36:23 +02:00
Michael Niedermayer
6ec26157b9 Merge commit '2957d29f0531ccd8a6f4378293424dfd92db3044'
* commit '2957d29f0531ccd8a6f4378293424dfd92db3044':
  alpha: hpeldsp: Move half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/alpha/dsputil_alpha.c
	libavcodec/alpha/hpeldsp_alpha.c
	libavcodec/alpha/hpeldsp_alpha.h
	libavcodec/alpha/hpeldsp_alpha_asm.S
	libavcodec/hpeldsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 15:24:25 +02:00
Michael Niedermayer
fdb1f7eb7a Merge commit '78ce568e43a7f3993c33100aa8f5d56c4c4bd493'
* commit '78ce568e43a7f3993c33100aa8f5d56c4c4bd493':
  sparc: hpeldsp: Move vis half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/hpeldsp.h
	libavcodec/sparc/dsputil_vis.c
	libavcodec/sparc/hpeldsp_vis.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 15:11:06 +02:00
Michael Niedermayer
4bdec0e71e Merge commit '278bd2054ca61ab70dfe38f1774409cda2da5359'
* commit '278bd2054ca61ab70dfe38f1774409cda2da5359':
  sh4: hpeldsp: Move half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/hpeldsp.c
	libavcodec/hpeldsp.h
	libavcodec/sh4/dsputil_align.c
	libavcodec/sh4/dsputil_sh4.h
	libavcodec/sh4/hpeldsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 15:04:06 +02:00
Michael Niedermayer
c5a11ab6d1 Merge commit 'bfb41b5039e36b7f873d6ea7d24b31bf3e1a8075'
* commit 'bfb41b5039e36b7f873d6ea7d24b31bf3e1a8075':
  bfin: hpeldsp: Move half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/bfin/Makefile
	libavcodec/bfin/hpel_pixels_bfin.S
	libavcodec/bfin/hpeldsp_bfin.c
	libavcodec/bfin/hpeldsp_bfin.h
	libavcodec/hpeldsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 14:31:11 +02:00
Michael Niedermayer
c4010972c4 Merge commit '7384b7a71338d960e421d6dc3d77da09b0a442cb'
* commit '7384b7a71338d960e421d6dc3d77da09b0a442cb':
  arm: hpeldsp: Move half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/arm/Makefile
	libavcodec/arm/hpeldsp_arm.S
	libavcodec/arm/hpeldsp_arm.h
	libavcodec/arm/hpeldsp_armv6.S
	libavcodec/arm/hpeldsp_init_arm.c
	libavcodec/arm/hpeldsp_init_armv6.c
	libavcodec/arm/hpeldsp_init_neon.c
	libavcodec/arm/hpeldsp_neon.S
	libavcodec/hpeldsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 14:19:08 +02:00
Michael Niedermayer
055e5c8e01 Merge commit '47e5a98174eb9c07ad17be71df129719d60ec8b7'
* commit '47e5a98174eb9c07ad17be71df129719d60ec8b7':
  ppc: hpeldsp: Move half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/hpeldsp.h
	libavcodec/ppc/hpeldsp_altivec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 13:52:58 +02:00
Michael Niedermayer
d0aa60da10 Merge commit '8db00081a37d5b7e23918ee500bb16bc59b57197'
* commit '8db00081a37d5b7e23918ee500bb16bc59b57197':
  x86: hpeldsp: Move half-pel assembly from dsputil to hpeldsp

Conflicts:
	libavcodec/hpeldsp.c
	libavcodec/hpeldsp.h
	libavcodec/x86/Makefile
	libavcodec/x86/dsputil_mmx.c
	libavcodec/x86/hpeldsp_init.c
	libavcodec/x86/hpeldsp_rnd_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 13:42:51 +02:00
Michael Niedermayer
3fee9fa022 Merge commit '28bc406c84b04a5f1458b90ff52ddbec73e46202'
* commit '28bc406c84b04a5f1458b90ff52ddbec73e46202':
  mjpeg: Use hpeldsp instead of dsputil for half-pel functions
  svq1enc: Use hpeldsp instead of dsputil for half-pel functions

Conflicts:
	configure
	libavcodec/mjpegdec.c
	libavcodec/svq1enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 13:21:18 +02:00
Michael Niedermayer
ab4ba6b74d Merge commit '2f6bc5f7c193477c2ebc0acce8f2d5551445e129'
* commit '2f6bc5f7c193477c2ebc0acce8f2d5551445e129':
  svq3: Use hpeldsp instead of dsputil for half-pel functions
  mpegvideo: Use hpeldsp instead of dsputil for half-pel functions
  svq1: Use hpeldsp instead of dsputil for half-pel functions
  mimic: Use hpeldsp instead of dsputil for half-pel functions

Conflicts:
	configure
	libavcodec/motion_est.c
	libavcodec/mpegvideo.c
	libavcodec/mpegvideo.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 10:12:07 +02:00
Michael Niedermayer
3c6621708b Merge commit '8071264f2196d71ff49c3944c33f8d3d83f548f1'
* commit '8071264f2196d71ff49c3944c33f8d3d83f548f1':
  interplayvideo: Use hpeldsp instead of dsputil for half-pel functions
  bink: Use hpeldsp instead of dsputil for half-pel functions
  indeo3: Use hpeldsp instead of dsputil for half-pel functions
  vp56: Use hpeldsp instead of dsputil for half-pel functions
  vp3: Use hpeldsp instead of dsputil for half-pel functions

Conflicts:
	libavcodec/bink.c
	libavcodec/indeo3.c
	libavcodec/vp56.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 10:01:54 +02:00
Michael Niedermayer
23de9e91df Merge commit '68d8238cca52e50e8cc81bf2edcaf8088c52d4c0'
* commit '68d8238cca52e50e8cc81bf2edcaf8088c52d4c0':
  hpeldsp: Add half-pel functions (currently copies of dsputil)

Conflicts:
	libavcodec/hpeldsp.c
	libavcodec/hpeldsp.h
	libavcodec/hpeldsp_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 09:42:07 +02:00
Michael Niedermayer
6c9d28a229 vc1dec: Fix tff == 0 handling in init_block_index()
This fixes several files from VLC ticket5887

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 02:22:32 +02:00
Michael Niedermayer
a0fbc28c38 vc1dec: Fix non pullup tff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 02:22:32 +02:00
Michael Niedermayer
8ebfd7c49e h264: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-20 02:22:32 +02:00
Clément Bœsch
a16c20569d lavf/gifdec: add loop support.
Loop is ignored by default.
2013-04-20 00:05:35 +02:00
Clément Bœsch
f5ede48fbb lavc/gif: miscellaneous cosmetics. 2013-04-19 23:59:22 +02:00
Clément Bœsch
e1b35bdde2 lavc/gif: add flag to enable transparency detection between frames.
While this is not always optimal, in practice most of the common cases are.

  ffmpeg -i big_buck_bunny_1080p_h264.mov -ss 45 -vf scale=320:160 -gifflags -transdiff -frames:v 50 -y bbb-notrans.gif
  ffmpeg -i big_buck_bunny_1080p_h264.mov -ss 45 -vf scale=320:160 -gifflags +transdiff -frames:v 50 -y bbb-trans.gif

  -rw-r--r-- 1 ubitux ubitux 1.1M Apr 19 19:00 bbb-notrans.gif
  -rw-r--r-- 1 ubitux ubitux 378K Apr 19 19:00 bbb-trans.gif
2013-04-19 23:59:21 +02:00
Clément Bœsch
0f1250b7e5 lavc/gif: make possible to disable offsetting. 2013-04-19 23:59:21 +02:00
Martin Storsjö
b71a0507b0 x86: Remove unused inline asm instruction defines
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-20 00:44:54 +03:00
Martin Storsjö
a60136ee57 vc1: Remove now unused variables
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-20 00:44:49 +03:00
Michael Niedermayer
f4b05cd841 Merge commit '5e83d9aced2fc2b2e1360452794c58aba55d497c'
* commit '5e83d9aced2fc2b2e1360452794c58aba55d497c':
  h264: fully support cropping.

Conflicts:
	doc/APIchanges
	libavcodec/h264.c
	libavcodec/h264_ps.c
	libavcodec/options_table.h
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 22:46:51 +02:00
Martin Storsjö
287c8db39e cosmetics: bfin: Fix indentation in the dsputil init function
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje
d4d186d185 dsputil: Remove non-8bpp draw_edge
It is never used.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje
619e0da191 dsputil: Remove unused 32-bit functions
Previously, if dct_bits was set to 32, we used separate 32-bit
versions of these functions. Since dct_bits now is removed,
remove the unused 32-bit versions of the functions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje
54cd5e4f92 dsputil: Remove hpel functions (moved to hpeldsp)
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje
2957d29f05 alpha: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje
78ce568e43 sparc: hpeldsp: Move vis half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje
c9f5fcd08c dsputil: Merge 9-10 bpp functions for get_pixels and draw_edge
These only care about pixel storage unit size, not actual bits
used (i.e. they don't clip).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Ronald S. Bultje
c443117f25 dsputil: Remove dct_bits
dct_bits is never set except in h264, where it is never used,
thus remove it.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:22 +03:00
Michael Niedermayer
278bd2054c sh4: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:29:21 +03:00
Ronald S. Bultje
bfb41b5039 bfin: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:19:13 +03:00
Ronald S. Bultje
7384b7a713 arm: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:19:08 +03:00
Ronald S. Bultje
47e5a98174 ppc: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:59 +03:00
Ronald S. Bultje
8db00081a3 x86: hpeldsp: Move half-pel assembly from dsputil to hpeldsp
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:53 +03:00
Ronald S. Bultje
28bc406c84 mjpeg: Use hpeldsp instead of dsputil for half-pel functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:38 +03:00
Ronald S. Bultje
1277dc07fb svq1enc: Use hpeldsp instead of dsputil for half-pel functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:32 +03:00
Ronald S. Bultje
2f6bc5f7c1 svq3: Use hpeldsp instead of dsputil for half-pel functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:27 +03:00
Ronald S. Bultje
f4fed5a2f9 mpegvideo: Use hpeldsp instead of dsputil for half-pel functions
This also converts vc1, since that is mpegvideo-based.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:21 +03:00
Ronald S. Bultje
6caa44aa7d svq1: Use hpeldsp instead of dsputil for half-pel functions
This makes svq1 independent of dsputil.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:14 +03:00
Ronald S. Bultje
c10470035e mimic: Use hpeldsp instead of dsputil for half-pel functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:08 +03:00
Ronald S. Bultje
8071264f21 interplayvideo: Use hpeldsp instead of dsputil for half-pel functions
This makes interplayvideo independent of dsputil.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:18:02 +03:00
Ronald S. Bultje
0f0a11d576 bink: Use hpeldsp instead of dsputil for half-pel functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:17:56 +03:00
Ronald S. Bultje
8f992dc8c7 indeo3: Use hpeldsp instead of dsputil for half-pel functions
This makes the Indeo 3 decoder independent of dsputil.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:17:50 +03:00
Ronald S. Bultje
cb7ecb7563 vp56: Use hpeldsp instead of dsputil for half-pel functions
This makes vp5 and vp6 independent of dsputil.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:17:33 +03:00
Ronald S. Bultje
3bd062bf7f vp3: Use hpeldsp instead of dsputil for half-pel functions
This makes vp3 independent of dsputil.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:17:26 +03:00
Ronald S. Bultje
68d8238cca hpeldsp: Add half-pel functions (currently copies of dsputil)
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-19 23:17:17 +03:00
Michael Niedermayer
05b2c998c7 avcodec: Fix lowres handling in buffer allocation
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 21:49:36 +02:00
Michael Niedermayer
a8b05dde0d Merge commit 'a7f46586bf47174b5fa00a905b767b1781ec8b72'
* commit 'a7f46586bf47174b5fa00a905b767b1781ec8b72':
  ff_get_buffer(): allocate the frame for max(coded,display) dimensions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 21:49:29 +02:00
Michael Niedermayer
42bcc4082d avcodec/mpegvideo_motion: Use a field from the current frame if the last is unavailable in DMV & 16x8
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 14:48:01 +02:00
Christophe Gisquet
76c7277385 x86: sbrdsp: implement SSE2 hf_apply_noise
233 to 105 cycles on Arrandale and Win64.
Replacing the multiplication by s_m[m] by a pand and a pxor with
appropriate vectors is slower. Unrolling is a 15 cycles win.
A SSE version was 4 cycles slower.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 13:19:45 +02:00
Clément Bœsch
380cfce2b2 lavc: add AV_CODEC_PROP_TEXT_SUB.
CC are not marked. Also allow potential mixed types later.
2013-04-19 13:15:54 +02:00
Anton Khirnov
5e83d9aced h264: fully support cropping.
Based on a patch by Vittorio Giovara <vittorio.giovara@gmail.com>

Fixes Bug 378.
2013-04-19 09:28:08 +02:00
Anton Khirnov
a7f46586bf ff_get_buffer(): allocate the frame for max(coded,display) dimensions
Needed e.g. for h264 cropping to work properly.
2013-04-19 09:26:53 +02:00
Clément Bœsch
13478b270a gif: use only one graphic control extension block per image.
The encoder now doesn't produce any extra graphic control extension
block anymore. Only the image is encoded, and the muxer writing
its own GCE containing notably the timing information now includes the
optional palette transmitted through packet side data.

This commit avoid setting clashes between the two GCE, and reduce the
size of the generated file with pal8 output.
2013-04-19 02:10:59 +02:00
Clément Bœsch
7b80b3cef0 lavc/utils: merge side data after video encode.
This allows encoders to communicate side data to the muxers.
2013-04-19 02:10:12 +02:00
Reimar Döffinger
a39cd8766f Fix multithreaded MPEG-4 decoding.
Regression since c10d498bfd.
Unfortunately ff_thread_get_format can only be called from
a separate decode thread, running it during init will fail.
Fixes for that are welcome, for now just revert back to
calling avctx->get_format directly, which is correct
but having to decide on a case-by-case basis which approach
to use is a bit messy.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-04-19 01:26:54 +02:00
Clément Bœsch
7c1a002c78 subtitles: introduce ASS codec id and use it.
Currently, we have a AV_CODEC_ID_SSA, which matches the way the ASS/SSA
markup is muxed in a standalone .ass/.ssa file. This means the AVPacket
data starts with a "Dialogue:" string, followed by a timing information
(start and end of the event as string) and a trailing CRLF after each
line. One packet can contain several lines. We'll refer to this layout
as "SSA" or "SSA lines".

In matroska, this markup is not stored as such: it has no "Dialogue:"
prefix, it contains a ReadOrder field, the timing information is not in
the payload, and it doesn't contain the trailing CRLF. See [1] for more
info. We'll refer to this layout as "ASS".

Since we have only one common codec for both formats, the matroska
demuxer is constructing an AVPacket following the "SSA lines" format.
This causes several problems, so it was decided to change this into
clean ASS packets.

Some insight about what is changed or unchanged in this commit:

  CODECS
  ------

  - the decoding process still writes "SSA lines" markup inside the ass
    fields of the subtitles rectangles (sub->rects[n]->ass), which is
    still the current common way of representing decoded subtitles
    markup. It is meant to change later.

  - new ASS codec id: AV_CODEC_ID_ASS (which is different from the
    legacy AV_CODEC_ID_SSA)

  - lavc/assdec: the "ass" decoder is renamed into "ssa" (instead of
    "ass") for consistency with the codec id and allows to add a real
    ass decoder. This ass decoder receives clean ASS lines (so it starts
    with a ReadOrder, is followed by the Layer, etc). We make sure this
    is decoded properly in a new ass-line rectangle of the decoded
    subtitles (the ssa decoder OTOH is doing a simple straightforward
    copy). Using the packet timing instead of data string makes sure the
    ass-line now contains the appropriate timing.

  - lavc/assenc: just like the ass decoder, the "ssa" encoder is renamed
    into "ssa" (instead of "ass") for consistency with the codec id, and
    allows to add a real "ass" encoder.

    One important thing about this encoder is that it only supports one
    ass rectangle: we could have put several dialogue events in the
    AVPacket (separated by a \0 for instance) but this would have cause
    trouble for the muxer which needs not only the start time, but also
    the duration: typically, you have merged events with the same start
    time (stored in the AVPacket->pts) but a different duration. At the
    moment, only the matroska do the merge with the SSA-line codec.

    We will need to make sure all the decoders in the future can't add
    more than one rectangle (and only one Dialogue line in it
    obviously).

  FORMATS
  -------

  - lavf/assenc: the .ass/.ssa muxer can take both SSA and ASS packets.
    In the case of ASS packets as input, it adds the timing based on the
    AVPacket pts and duration, and mux it with "Dialogue:", trailing
    CRLF, etc.

  - lavf/assdec: unchanged; it currently still only outputs SSA-lines
    packets.

  - lavf/mkv: the demuxer can now output ASS packets without the need of
    any "SSA-lines" reconstruction hack. It will become the default at
    next libavformat bump, and the SSA support will be dropped from the
    demuxer. The muxer can take ASS packets since it's muxed normally,
    and still supports the old SSA packets. All the SSA support and
    hacks in Matroska code will be dropped at next lavf bump.

[1]: http://www.matroska.org/technical/specs/subtitles/ssa.html
2013-04-18 23:23:59 +02:00
Michael Niedermayer
23daee0dcc avcodec/mpegvideo_motion: Check P field references
If a reference is unavailable use a field from the current
picture
Fixes null pointer dereference

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 20:13:22 +02:00
Michael Niedermayer
4c8ce750ab svq3: use memmove to avoid overlap in memcpy.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 17:56:45 +02:00
Michael Niedermayer
5ae484e350 evrcdec: use memmove() instead of memcpy() when regions can overlap.
This occurs also with valid files.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 16:20:49 +02:00
Clément Bœsch
90a56ebbe5 lavc/gif: avoid encoding 0x0 images.
It seems browsers don't like it very much.
2013-04-18 15:30:02 +02:00
Michael Niedermayer
6998af4a40 avcodec/bitstream: check codes in ff_init_vlc_sparse()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 02:57:03 +02:00
Michael Niedermayer
fb3e3808ae avcodec/bitstream: Check bits in ff_init_vlc_sparse()
Fixes out of array reads

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 02:47:50 +02:00
Michael Niedermayer
bdfe60c769 xan: Check for overlapping copies
No valid samples i found use such copies

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-18 01:55:42 +02:00
Clément Bœsch
91a5b4d480 gif: remove outdated comments. 2013-04-18 00:43:38 +02:00
Clément Bœsch
8694e87127 lavc/gif: return more meaningful error code. 2013-04-18 00:24:25 +02:00
Clément Bœsch
71411b69a2 lavc/gif: merge two allocation checks. 2013-04-18 00:24:25 +02:00
Clément Bœsch
7b972d82b6 gif: reindent after previous commits. 2013-04-18 00:24:25 +02:00
Clément Bœsch
e065e8a4ea lavc/gif: crop image when possible.
Increase compression when pictures are similar.

-f lavfi testsrc=300: 61M -> 21M
2013-04-18 00:24:25 +02:00
Clément Bœsch
635389ccfa Cleanse GIF muxer and encoder.
This commit removes the badly duplicated code between the encoder and
the muxer. That may sound surprising, but the encoder is now responsible
from the encoding of the picture when muxing to a .gif file. It also
does not require anymore a manual user intervention such as a -pix_fmt
rgb24 to work properly. To summarize, output gif are now easier to
generate, code is saner and simpler, and files are smaller (thanks to
the lzw encoding which was unused so far with the default .gif output).
We can certainly make things even better, but this is the first step.

FATE is updated because of the output being produced by the encoder and
not the muxer (no lzw in the muxer), and in the seek test only the size
mismatches.

Fixes Ticket #2262
2013-04-18 00:24:25 +02:00
Michael Niedermayer
3220083c11 ra144: Try to fix int16/uint16 warnings from pgc
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 21:31:11 +02:00
Michael Niedermayer
7f2253078d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  indeo3: check motion vectors.

Conflicts:
	libavcodec/indeo3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 17:30:07 +02:00
Michael Niedermayer
2787f7b188 Merge commit '34e6af9e204ca6bb18d8cf8ec68fe19b0e083e95'
* commit '34e6af9e204ca6bb18d8cf8ec68fe19b0e083e95':
  indeo3: fix data size check

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 16:57:45 +02:00
Michael Niedermayer
4029a5ebc2 Merge commit '66531d634e75b834e89e4a6a0f7470ca018712a1'
* commit '66531d634e75b834e89e4a6a0f7470ca018712a1':
  indeo3: switch parsing the header to bytestream2

Conflicts:
	libavcodec/indeo3.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 16:50:34 +02:00
Michael Niedermayer
e5dc5095f9 Merge commit '01d376f598fe95478036f5d1e3e5e14ffe32d4bf'
* commit '01d376f598fe95478036f5d1e3e5e14ffe32d4bf':
  rv10: check that extradata is large enough

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 16:20:49 +02:00
Michael Niedermayer
4916e220a6 Merge commit 'bac8d38c0a716c8bdfdecf0ae545015c68f5df36'
* commit 'bac8d38c0a716c8bdfdecf0ae545015c68f5df36':
  rv10: return meaningful error codes.

Conflicts:
	libavcodec/rv10.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 16:10:23 +02:00
Michael Niedermayer
8cff853b23 Merge commit '69f6f03cd16a09e4e848b4e82bae4993bc361cd0'
* commit '69f6f03cd16a09e4e848b4e82bae4993bc361cd0':
  rv10: cosmetics, reformat
  qdm2: check that the FFT size is a power of 2

Conflicts:
	libavcodec/rv10.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 16:04:38 +02:00
Michael Niedermayer
0a946599f8 Merge commit 'ecff5acb5a738fcb4f9e206a12070dac4bf259b3'
* commit 'ecff5acb5a738fcb4f9e206a12070dac4bf259b3':
  svq1dec: clip motion vectors to the frame size.

Conflicts:
	libavcodec/svq1dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 15:52:10 +02:00
Michael Niedermayer
251f283b9d Merge commit 'b1bb8fb860b47e90dd67f0c5740698128fc82dcc'
* commit 'b1bb8fb860b47e90dd67f0c5740698128fc82dcc':
  svq1dec: check that the reference frame has the same dimensions as the current one

Conflicts:
	libavcodec/svq1dec.c

See: 3b57bb478f

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-17 15:40:47 +02:00
Anton Khirnov
a0a872d073 indeo3: check motion vectors.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 12:10:42 +02:00
Anton Khirnov
34e6af9e20 indeo3: fix data size check
The data offsets are relative to the bistream header, which is 16 bytes
after the start of the data.
Fixes invalid reads with corrupted files.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 12:09:36 +02:00
Anton Khirnov
66531d634e indeo3: switch parsing the header to bytestream2
Also add an additional sanity check to the alt_quant table.
Fixes invalid reads with corrupted files.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 12:08:49 +02:00
Anton Khirnov
01d376f598 rv10: check that extradata is large enough
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 11:01:52 +02:00
Anton Khirnov
bac8d38c0a rv10: return meaningful error codes.
Also improve some error messages.
2013-04-17 11:01:17 +02:00
Anton Khirnov
69f6f03cd1 rv10: cosmetics, reformat 2013-04-17 10:58:29 +02:00
Anton Khirnov
34f87a5853 qdm2: check that the FFT size is a power of 2
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 10:56:11 +02:00
Anton Khirnov
ecff5acb5a svq1dec: clip motion vectors to the frame size.
Fixes invalid reads for corrupted files.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 10:55:51 +02:00
Anton Khirnov
b1bb8fb860 svq1dec: check that the reference frame has the same dimensions as the current one
They can be different if the last keyframe failed to decode correctly.
Fixes possible invalid reads in such a case.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 10:55:30 +02:00
Carl Eugen Hoyos
fe1de12faf Remove two anonymous arrays.
Fixes compilation of pngenc.c and flvdec.c with PGC 13.4-0.
2013-04-17 00:37:05 +02:00
Carl Eugen Hoyos
9802f56684 ass_split: Do not use the function name as a parameter name in a declaration.
Fixes compilation of srtenc.o with PGC 13.4-0.
2013-04-17 00:35:00 +02:00
Paul B Mahol
c1fe41ed47 libaacpluc: remove unused code
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 21:13:51 +00:00
Paul B Mahol
9429408cc1 sgirledec: remove unused headers
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 20:46:45 +00:00
Paul B Mahol
b05d8d4cf4 lavc: avcodec_open2(): pass context to av_log()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 20:46:34 +00:00
Michael Niedermayer
bec402b502 mjpegdec: fix overlapping memcpy with upscale_v
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 20:15:24 +02:00
Paul B Mahol
6575539176 libaacplus: support for float sample format
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 16:14:05 +00:00
Michael Niedermayer
6b657ac788 avcodec/c93: Check for block overlap.
Fixes overlapping memcpy()

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 17:04:16 +02:00
Paul B Mahol
0b06bd1c7a libaacplus: set supported profiles
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 10:20:17 +00:00
Paul B Mahol
82082695de libaacplus: set supported channel_layouts
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 10:20:17 +00:00
Paul B Mahol
97b2865aa2 libaacplus: remove FF_API_OLD_ENCODE_AUDIO cruft
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-16 08:44:56 +00:00
Michael Niedermayer
d98c3adef2 Merge commit '015821229f96bf7e677f2a711a58dbea3009f574'
* commit '015821229f96bf7e677f2a711a58dbea3009f574':
  vp3: Use full transpose for all IDCTs

Conflicts:
	libavcodec/vp3.c
	libavcodec/vp3dsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 00:56:15 +02:00
Michael Niedermayer
05bea44393 Merge commit '5941978e71d2c3a8e2a7e87951e081e0b2e77da9'
* commit '5941978e71d2c3a8e2a7e87951e081e0b2e77da9':
  vp3: bfin: Transpose the IDCTs

Conflicts:
	libavcodec/bfin/vp3_bfin.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 00:50:33 +02:00
Michael Niedermayer
d5c31403aa Merge commit 'c46819f2299c73cd1bfa8ef04d08b0153a5699d3'
* commit 'c46819f2299c73cd1bfa8ef04d08b0153a5699d3':
  x86: Move constants to the only place where they are used

Conflicts:
	libavcodec/x86/vp3dsp.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 00:44:20 +02:00
Michael Niedermayer
1557f34b10 dfa: support decoding version=1.0
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 12:13:41 +02:00
Ronald S. Bultje
015821229f vp3: Use full transpose for all IDCTs
This way, the special IDCT permutations are no longer needed. This
is similar to how H264 does it, and removes the dsputil dependency
imposed by the scantable code.

Also remove the unused type == 0 cases from the plain C version
of the idct.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-15 12:32:05 +03:00
Martin Storsjö
5941978e71 vp3: bfin: Transpose the IDCTs
While this change isn't bitexact, the IDCTs weren't bitexact to
start with either.

This simplifies decoupling vp3 from dsputil.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-15 12:31:52 +03:00
Ronald S. Bultje
c46819f229 x86: Move constants to the only place where they are used
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-15 12:17:39 +03:00
Martin Storsjö
c0dcf89887 bfin: Match DEFUN_END macros to the right functions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-15 12:13:26 +03:00
Reimar Döffinger
c10d498bfd Add thread-safe wrapper for get_format().
Just like get_buffer, get_format should not be called from a different
thread if thread_safe_callbacks is not set.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-04-15 09:04:07 +02:00
Reimar Döffinger
8067f55edf Fix compilation on ARM with android gcc 4.7
With the current code it fails due to running out
of registers.
So code the store offsets manually into the assembler
instead.
Passes "make fate-dts".

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2013-04-15 09:04:07 +02:00
Clément Bœsch
1e3104cd3c Add avpriv_dsputil_init() and use it in lavfi where relevant.
dsputil_init() is deprecated and not meant to be exported.
ff_dsputil_init() is internal to libavcodec and thus can not be used.
avpriv_dsputil_init() is the version shared between libraries.

This commit fixes 3 unjustified libavfilter deprecated warnings.
2013-04-14 20:15:54 +02:00
Michael Niedermayer
ded2f187a2 avcodec: fix ignorecrop AVOption offset
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-13 20:17:37 +02:00
Michael Niedermayer
34b78ad04f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: dsputil: Move some ifdefs to avoid unused variable warnings

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 23:38:41 +02:00
Michael Niedermayer
ed3680bc9b Merge commit '2004c7c8f763280ff3ba675ea21cf25396528fd3'
* commit '2004c7c8f763280ff3ba675ea21cf25396528fd3':
  x86: dsputil: cosmetics: Remove two pointless variable indirections

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 23:28:23 +02:00
Michael Niedermayer
694fa0035a Merge commit 'c51a3a5bd9a5b404176ff343ecadb80b2553b256'
* commit 'c51a3a5bd9a5b404176ff343ecadb80b2553b256':
  x86: dsputil: Refactor some ff_{avg|put}_pixels function declarations

Conflicts:
	libavcodec/x86/dsputil_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 22:36:31 +02:00
Michael Niedermayer
43bf4ee9a9 Merge commit 'e027032fc6a49db5a4ce12fc3e09ffb86ff20522'
* commit 'e027032fc6a49db5a4ce12fc3e09ffb86ff20522':
  x86: dsputil: ff_h263_*_loop_filter declarations to a more suitable place

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 22:29:30 +02:00
Michael Niedermayer
52bda1d903 Merge commit 'a89c05500f68d94a0269e68bc522abfd420c5497'
* commit 'a89c05500f68d94a0269e68bc522abfd420c5497':
  x86: h264qpel: int --> ptrdiff_t for some line_size parameters

Conflicts:
	libavcodec/x86/qpelbase.asm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 22:22:27 +02:00
Diego Biurrun
a3cb865310 x86: dsputil: Move some ifdefs to avoid unused variable warnings 2013-04-12 09:36:47 +02:00