1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-02 03:06:28 +02:00
Commit Graph

28008 Commits

Author SHA1 Message Date
Michael Niedermayer
067ada04d1 avcodec/xbmdec: redesign parser to handle more cases
The new code is more tolerant on the syntax

Fixes decoding of bm1.xbm

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-29 03:50:25 +01:00
Michael Niedermayer
a696b0917d Merge commit 'fb5cf145b6bcfa4f83af94398e5560c1132cc410'
* commit 'fb5cf145b6bcfa4f83af94398e5560c1132cc410':
  bmp: add a standalone parser

Conflicts:
	Changelog
	libavcodec/bmp_parser.c
	libavcodec/version.h

See: 011ce89dba and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 11:00:27 +01:00
Michael Niedermayer
1da1866767 avcodec/xbmdec: support X10 format
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 05:34:25 +01:00
Michael Niedermayer
4618084a5c avcodec/xbmdec: merge ptr increase into dereference
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 05:33:13 +01:00
Michael Niedermayer
296e63efa5 Merge commit '678082b409aca711f9cf991df6b0200116489322'
* commit '678082b409aca711f9cf991df6b0200116489322':
  X-Bitmap decoder

Conflicts:
	Changelog
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/version.h
	libavcodec/xbmdec.c

See: a0340dfbd7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 05:26:24 +01:00
Michael Niedermayer
16ddc58bd7 Merge commit '70daeacd6ef8b354dd7d2d77ad393831a5bbf033'
* commit '70daeacd6ef8b354dd7d2d77ad393831a5bbf033':
  PAF demuxer and decoder

Conflicts:
	Changelog
	doc/general.texi
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/paf.c
	libavcodec/version.h
	libavformat/Makefile
	libavformat/allformats.c
	libavformat/paf.c
	libavformat/version.h

See: 7de4a16508, and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 04:32:05 +01:00
Michael Niedermayer
03e4c2d833 Merge commit 'd37c96213a2a9e1fd8669122d5405f4ce6a99ed8'
* commit 'd37c96213a2a9e1fd8669122d5405f4ce6a99ed8':
  lavc: restore copy_block{4,16} functions

Conflicts:
	libavcodec/copy_block.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 03:26:43 +01:00
Paul B Mahol
fb5cf145b6 bmp: add a standalone parser
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-03-28 00:08:24 +01:00
Michael Niedermayer
64b79141bd avcodec/libx264: move where x264opts is applied down so it isnt overridden by avctx & defaults
fixes x264opts opengop=1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-28 00:05:33 +01:00
Vittorio Giovara
678082b409 X-Bitmap decoder 2014-03-27 23:59:13 +01:00
Vittorio Giovara
792e4c21f2 xbm: use av_frame_free on close 2014-03-27 23:57:51 +01:00
Paul B Mahol
70daeacd6e PAF demuxer and decoder
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-03-27 23:34:47 +01:00
Vittorio Giovara
d37c96213a lavc: restore copy_block{4,16} functions
They were removed in 9e31729d69.
2014-03-27 23:25:39 +01:00
Timothy Gu
9d34dce05b x86: convert DNxHDenc inline asm to yasm
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 23:16:17 +01:00
Timothy Gu
cb11b9e89e dnxhdenc: make get_pixel_8x4_sym accept ptrdiff_t as stride
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 23:09:10 +01:00
Michael Niedermayer
72bff8da47 avcodec: Make ff_print_debug_info2() independant of Picture struct
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 22:43:05 +01:00
Michael Niedermayer
a4f27a3f57 avcodec/brenderpix: propagate error codes
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 22:07:49 +01:00
Michael Niedermayer
8506423318 avcodec/brenderpix: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 22:06:59 +01:00
Michael Niedermayer
f392949f1a Merge commit 'ae17878fb2ab100264226c84c58f5b95a703312f'
* commit 'ae17878fb2ab100264226c84c58f5b95a703312f':
  BRender PIX image decoder

Conflicts:
	doc/general.texi
	libavcodec/Makefile
	libavcodec/version.h

See: 492a5f835c, and others
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 21:09:17 +01:00
Michael Niedermayer
68014c6ed9 Merge commit 'c3a0b3eb64be441ca897629e8ecd80d5b51fded7'
* commit 'c3a0b3eb64be441ca897629e8ecd80d5b51fded7':
  arm: build: Maintain decoder objects separate from infrastructure objects

Conflicts:
	libavcodec/arm/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 20:10:51 +01:00
Aleksi Nurmi
ae17878fb2 BRender PIX image decoder
Further enhancements by Vittorio Giovara and Paul B Mahol.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-03-27 18:27:23 +01:00
Diego Biurrun
c3a0b3eb64 arm: build: Maintain decoder objects separate from infrastructure objects 2014-03-27 03:00:05 -07:00
Michael Niedermayer
57e939d963 avcodec/vp7: Fix null pointer dereference in vp7_decode_frame_header()
This simply copies the "interframe without a prior keyframe" check
thats done later into vp7_decode_frame_header()

Found-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 05:02:18 +01:00
Michael Niedermayer
12ab07be44 Merge commit 'e50f5d3cf9ef9a16982a5cb4d8b1916cd963aa5b'
* commit 'e50f5d3cf9ef9a16982a5cb4d8b1916cd963aa5b':
  Alias PIX image encoder and decoder

Conflicts:
	Changelog
	libavcodec/allcodecs.c
	libavcodec/version.h
	libavformat/img2enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-27 01:10:28 +01:00
Vittorio Giovara
e50f5d3cf9 Alias PIX image encoder and decoder 2014-03-26 23:25:02 +01:00
Michael Niedermayer
50b68e323c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  truehd: add hand-scheduled ARM asm version of ff_mlp_pack_output.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 21:23:09 +01:00
Michael Niedermayer
179cf14832 Merge commit 'fcf5fc444522d24caa9907225802817ae788f511'
* commit 'fcf5fc444522d24caa9907225802817ae788f511':
  truehd: tune VLC decoding for ARM.

Conflicts:
	libavcodec/mlpdec.c

See: e555e1bc39
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 20:58:03 +01:00
Ben Avison
b01a2562ae truehd: break out part of output_data into platform-specific callback.
Verified with profiling that this doesn't have a measurable effect upon
overall performance.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 20:56:38 +01:00
Ben Avison
89135716fd truehd: add hand-scheduled ARM asm version of ff_mlp_rematrix_channel.
Profiling results for overall audio decode and the rematrix_channels function
in particular are as follows:

              Before          After
              Mean   StdDev   Mean   StdDev  Confidence  Change
6:2 total     370.8  17.0     348.8  20.1    99.9%       +6.3%
6:2 function  46.4   8.4      45.8   6.6     18.0%       +1.2%  (insignificant)
8:2 total     343.2  19.0     339.1  15.4    54.7%       +1.2%  (insignificant)
8:2 function  38.9   3.9      40.2   6.9     52.4%       -3.2%  (insignificant)
6:6 total     658.4  15.7     604.6  20.8    100.0%      +8.9%
6:6 function  109.0  8.7      59.5   5.4     100.0%      +83.3%
8:8 total     896.2  24.5     766.4  17.6    100.0%      +16.9%
8:8 function  223.4  12.8     93.8   5.0     100.0%      +138.3%

The assembly version has also been tested with a fuzz tester to ensure that
any combinations of inputs not exercised by my available test streams still
generate mathematically identical results to the C version.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 20:50:05 +01:00
Ben Avison
3f4e73afe9 truehd: break out part of rematrix_channels into platform-specific callback.
Verified with profiling that this doesn't have a measurable effect upon
overall performance.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 20:41:48 +01:00
Michael Niedermayer
f38af0143c Merge commit '15a29c39d9ef15b0783c04b3228e1c55f6701ee3'
* commit '15a29c39d9ef15b0783c04b3228e1c55f6701ee3':
  truehd: add hand-scheduled ARM asm version of mlp_filter_channel.

Conflicts:
	libavcodec/arm/Makefile
	libavcodec/arm/mlpdsp_init_arm.c

See: 87b128d5ef
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 20:39:10 +01:00
Ben Avison
87b128d5ef truehd: add hand-scheduled ARM asm version of mlp_filter_channel.
Profiling results for overall audio decode and the mlp_filter_channel(_arm)
function in particular are as follows:

              Before          After
              Mean   StdDev   Mean   StdDev  Confidence  Change
6:2 total     380.4  22.0     370.8  17.0    87.4%       +2.6%  (insignificant)
6:2 function  60.7   7.2      36.6   8.1     100.0%      +65.8%
8:2 total     357.0  17.5     343.2  19.0    97.8%       +4.0%  (insignificant)
8:2 function  60.3   8.8      37.3   3.8     100.0%      +61.8%
6:6 total     717.2  23.2     658.4  15.7    100.0%      +8.9%
6:6 function  140.4  12.9     81.5   9.2     100.0%      +72.4%
8:8 total     981.9  16.2     896.2  24.5    100.0%      +9.6%
8:8 function  193.4  15.0     103.3  11.5    100.0%      +87.2%

Experiments with adding preload instructions to this function yielded no
useful benefit, so these have not been included.

The assembly version has also been tested with a fuzz tester to ensure that
any combinations of inputs not exercised by my available test streams still
generate mathematically identical results to the C version.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 20:22:18 +01:00
Ben Avison
3b5946bcce truehd: add hand-scheduled ARM asm version of ff_mlp_pack_output.
Profiling results for overall decode and the output_data function in
particular are as follows:

              Before          After
              Mean   StdDev   Mean   StdDev  Confidence  Change
6:2 total     339.6  15.1     329.3  16.0    95.8%       +3.1%  (insignificant)
6:2 function  24.6   6.0      9.9    3.1     100.0%      +148.5%
8:2 total     324.5  15.5     323.6  14.3    15.2%       +0.3%  (insignificant)
8:2 function  20.4   3.9      9.9    3.4     100.0%      +104.7%
6:6 total     572.8  20.6     539.9  24.2    100.0%      +6.1%
6:6 function  54.5   5.6      16.0   3.8     100.0%      +240.9%
8:8 total     741.5  21.2     702.5  18.5    100.0%      +5.6%
8:8 function  63.9   7.6      18.4   4.8     100.0%      +247.3%

The assembly version has also been tested with a fuzz tester to ensure that
any combinations of inputs not exercised by my available test streams still
generate mathematically identical results to the C version.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-26 19:54:32 +02:00
Ben Avison
b9eb03416d truehd: break out part of output_data into platform-specific callback.
Verified with profiling that this doesn't have a measurable effect upon
overall performance.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-26 19:54:29 +02:00
Ben Avison
fcf5fc4445 truehd: tune VLC decoding for ARM.
Profiling on a Raspberry Pi revealed the best performance to correspond
with VLC_BITS = 5. Results for overall audio decode and the get_vlc2 function
in particular are as follows:

              Before          After
              Mean   StdDev   Mean   StdDev  Confidence  Change
6:2 total     348.8  20.1     339.6  15.1    88.8%       +2.7%  (insignificant)
6:2 function  38.1   8.1      26.4   4.1     100.0%      +44.5%
8:2 total     339.1  15.4     324.5  15.5    99.4%       +4.5%
8:2 function  33.8   7.0      27.3   5.6     99.7%       +23.6%
6:6 total     604.6  20.8     572.8  20.6    100.0%      +5.6%
6:6 function  95.8   8.4      68.9   8.2     100.0%      +39.1%
8:8 total     766.4  17.6     741.5  21.2    100.0%      +3.4%
8:8 function  106.0  11.4     86.1   9.9     100.0%      +23.1%

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-26 19:54:12 +02:00
Ben Avison
483321fe78 truehd: add hand-scheduled ARM asm version of ff_mlp_rematrix_channel.
Profiling results for overall audio decode and the rematrix_channels function
in particular are as follows:

              Before          After
              Mean   StdDev   Mean   StdDev  Confidence  Change
6:2 total     370.8  17.0     348.8  20.1    99.9%       +6.3%
6:2 function  46.4   8.4      45.8   6.6     18.0%       +1.2%  (insignificant)
8:2 total     343.2  19.0     339.1  15.4    54.7%       +1.2%  (insignificant)
8:2 function  38.9   3.9      40.2   6.9     52.4%       -3.2%  (insignificant)
6:6 total     658.4  15.7     604.6  20.8    100.0%      +8.9%
6:6 function  109.0  8.7      59.5   5.4     100.0%      +83.3%
8:8 total     896.2  24.5     766.4  17.6    100.0%      +16.9%
8:8 function  223.4  12.8     93.8   5.0     100.0%      +138.3%

The assembly version has also been tested with a fuzz tester to ensure that
any combinations of inputs not exercised by my available test streams still
generate mathematically identical results to the C version.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-26 19:54:10 +02:00
Ben Avison
4e5aa080bb truehd: break out part of rematrix_channels into platform-specific callback.
Verified with profiling that this doesn't have a measurable effect upon
overall performance.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-26 19:54:05 +02:00
Ben Avison
15a29c39d9 truehd: add hand-scheduled ARM asm version of mlp_filter_channel.
Profiling results for overall audio decode and the mlp_filter_channel(_arm)
function in particular are as follows:

              Before          After
              Mean   StdDev   Mean   StdDev  Confidence  Change
6:2 total     380.4  22.0     370.8  17.0    87.4%       +2.6%  (insignificant)
6:2 function  60.7   7.2      36.6   8.1     100.0%      +65.8%
8:2 total     357.0  17.5     343.2  19.0    97.8%       +4.0%  (insignificant)
8:2 function  60.3   8.8      37.3   3.8     100.0%      +61.8%
6:6 total     717.2  23.2     658.4  15.7    100.0%      +8.9%
6:6 function  140.4  12.9     81.5   9.2     100.0%      +72.4%
8:8 total     981.9  16.2     896.2  24.5    100.0%      +9.6%
8:8 function  193.4  15.0     103.3  11.5    100.0%      +87.2%

Experiments with adding preload instructions to this function yielded no
useful benefit, so these have not been included.

The assembly version has also been tested with a fuzz tester to ensure that
any combinations of inputs not exercised by my available test streams still
generate mathematically identical results to the C version.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-03-26 19:53:52 +02:00
Michael Niedermayer
289b149cec avcodec/h264_mp4toannexb_bsf: prepend global headers before any in stream parameter sets
Fixes h264_mp4toannexb_bsf_failure.mkv

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 18:09:23 +01:00
Michael Niedermayer
4998a72b49 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: hpeldsp: Keep all rnd_template instantiations in hpeldsp_init

Conflicts:
	libavcodec/x86/rnd_mmx.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 16:55:46 +01:00
Michael Niedermayer
b7f0d39d26 Merge commit '55d7f26e7bcf1dfb69ee986aa9fc21c62e0b3ae6'
* commit '55d7f26e7bcf1dfb69ee986aa9fc21c62e0b3ae6':
  hpeldsp_template: Move content to hpeldsp

Conflicts:
	libavcodec/hpeldsp_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 15:53:33 +01:00
Michael Niedermayer
a49bdcdee5 Merge commit '09d4389de10b03ea65a84eaf3d6c4b7a7538ad75'
* commit '09d4389de10b03ea65a84eaf3d6c4b7a7538ad75':
  hpeldsp_template: Drop av_unused attribute from *_no_rnd_pixels16_8_c functions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 15:41:02 +01:00
Michael Niedermayer
2d15e0c01d Merge commit '92ba965103d3884609730ba9bf293772dc78a9ef'
* commit '92ba965103d3884609730ba9bf293772dc78a9ef':
  dsputil: Move draw_edges and clear_block* out of dsputil_template

Conflicts:
	libavcodec/dsputil.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 15:36:27 +01:00
Michael Niedermayer
b4f64c58fc Merge commit 'da5be235250a61d6994408b054e3e3acf2e0f90f'
* commit 'da5be235250a61d6994408b054e3e3acf2e0f90f':
  dsputil: Move RV40-specific bits into rv40dsp

Conflicts:
	libavcodec/dsputil.c
	libavcodec/rv40dsp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 15:24:50 +01:00
Michael Niedermayer
6967cf3c6c Merge commit '8011ac911b3f282b9fb64a0fc15404f8bfc7b7ed'
* commit '8011ac911b3f282b9fb64a0fc15404f8bfc7b7ed':
  hpeldsp_template: Detemplatize the code

Conflicts:
	libavcodec/hpeldsp_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 15:08:46 +01:00
Michael Niedermayer
e9c6b93bda Merge commit '2c01ad8b206d326700974438f7193f22be416eb1'
* commit '2c01ad8b206d326700974438f7193f22be416eb1':
  dsputil_template: Detemplatize the code

Conflicts:
	libavcodec/dsputil.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 14:59:50 +01:00
Michael Niedermayer
0371eaebcd Merge commit 'aba70bb5387f12dfa5e6cd8cb861c9c7e668151f'
* commit 'aba70bb5387f12dfa5e6cd8cb861c9c7e668151f':
  Add missing headers to make template files compile (more) standalone

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 14:50:55 +01:00
Michael Niedermayer
3262069101 Merge commit 'e7373585f827d4ec05d952daa3877e8decfe3c08'
* commit 'e7373585f827d4ec05d952daa3877e8decfe3c08':
  dsputil_template: Move bits that are used templatized into separate file

Conflicts:
	libavcodec/dsputil_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 14:40:49 +01:00
Michael Niedermayer
152c8fd856 Merge commit 'd3c3c1664a958923f234283e66fbcbfe69a6927f'
* commit 'd3c3c1664a958923f234283e66fbcbfe69a6927f':
  dsputil: Move hpel_template #include out of dsputil_template

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-26 14:32:24 +01:00
Diego Biurrun
efc7290eb6 x86: hpeldsp: Keep all rnd_template instantiations in hpeldsp_init
There is no point in having a separate file just for the instantiation
that provides the public functions.
2014-03-26 04:31:27 -07:00