Martin Storsjö [Sat, 29 Mar 2014 10:35:11 +0000 (12:35 +0200)]
golomb: Fix the implementation of get_se_golomb_long
This was only used in hevc muxing code so far.
This makes the return values match what get_se_golomb returns for
the same bitstream reader instances.
The logic for producing a signed golomb code out of an unsigned one
was based on the corresponding code in get_se_golomb, which operated
directly on the bitstream reader buffer - not on the equivalent
return value from get_ue_golomb.
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
Vittorio Giovara [Fri, 28 Mar 2014 00:13:54 +0000 (01:13 +0100)]
vp8: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
John Stebbins [Tue, 18 Mar 2014 14:50:25 +0000 (08:50 -0600)]
movenc: Add dvd subtitle support
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Luca Barbato [Thu, 27 Mar 2014 23:40:43 +0000 (00:40 +0100)]
cmdutils: Mark exit_program as av_noreturn
Vittorio Giovara [Mon, 17 Mar 2014 14:30:05 +0000 (15:30 +0100)]
fate: add a bmpparser test
Paul B Mahol [Sun, 5 Aug 2012 23:46:41 +0000 (23:46 +0000)]
bmp: add a standalone parser
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Vittorio Giovara [Mon, 17 Mar 2014 00:24:30 +0000 (01:24 +0100)]
fate: add XBM tests
Vittorio Giovara [Sat, 22 Mar 2014 04:33:27 +0000 (05:33 +0100)]
X-Bitmap decoder
Vittorio Giovara [Mon, 17 Mar 2014 00:20:53 +0000 (01:20 +0100)]
xbm: use av_frame_free on close
Paul B Mahol [Sun, 8 Jul 2012 22:16:12 +0000 (22:16 +0000)]
fate: add PAF audio and video tests
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Paul B Mahol [Fri, 21 Mar 2014 16:28:47 +0000 (16:28 +0000)]
PAF demuxer and decoder
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Vittorio Giovara [Mon, 10 Mar 2014 16:05:12 +0000 (17:05 +0100)]
lavc: restore copy_block{4,16} functions
They were removed in
9e31729d692f1e721b7ed1a3a0f51b68c064d68f.
Vittorio Giovara [Wed, 26 Mar 2014 23:52:13 +0000 (00:52 +0100)]
fate: add BRender PIX tests
Aleksi Nurmi [Wed, 26 Mar 2014 23:45:15 +0000 (00:45 +0100)]
BRender PIX image decoder
Further enhancements by Vittorio Giovara and Paul B Mahol.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Diego Biurrun [Thu, 27 Mar 2014 09:56:07 +0000 (10:56 +0100)]
arm: build: Maintain decoder objects separate from infrastructure objects
Vittorio Giovara [Thu, 20 Mar 2014 02:12:18 +0000 (03:12 +0100)]
fate: add Alias PIX tests
Vittorio Giovara [Thu, 20 Mar 2014 00:15:25 +0000 (01:15 +0100)]
Alias PIX image encoder and decoder
Ben Avison [Thu, 20 Mar 2014 18:58:40 +0000 (18:58 +0000)]
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>
Ben Avison [Thu, 20 Mar 2014 18:58:39 +0000 (18:58 +0000)]
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>
Ben Avison [Thu, 20 Mar 2014 18:58:38 +0000 (18:58 +0000)]
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>
Ben Avison [Thu, 20 Mar 2014 18:58:37 +0000 (18:58 +0000)]
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>
Ben Avison [Thu, 20 Mar 2014 18:58:36 +0000 (18:58 +0000)]
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>
Ben Avison [Thu, 20 Mar 2014 18:58:35 +0000 (18:58 +0000)]
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>
Diego Biurrun [Wed, 29 Jan 2014 11:49:24 +0000 (12:49 +0100)]
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.
Diego Biurrun [Fri, 10 Jan 2014 14:01:04 +0000 (15:01 +0100)]
hpeldsp_template: Move content to hpeldsp
There is no point in having this separate; it is not used as a template.
Diego Biurrun [Fri, 10 Jan 2014 15:37:23 +0000 (16:37 +0100)]
hpeldsp_template: Drop av_unused attribute from *_no_rnd_pixels16_8_c functions
Diego Biurrun [Tue, 7 Jan 2014 23:43:09 +0000 (00:43 +0100)]
dsputil: Move draw_edges and clear_block* out of dsputil_template
The functions are not used templatized.
Diego Biurrun [Wed, 18 Dec 2013 22:27:35 +0000 (23:27 +0100)]
dsputil: Move RV40-specific bits into rv40dsp
Diego Biurrun [Fri, 10 Jan 2014 13:57:59 +0000 (14:57 +0100)]
hpeldsp_template: Detemplatize the code
The indirection makes no sense without multiple instantiation.
Diego Biurrun [Thu, 9 Jan 2014 11:09:35 +0000 (12:09 +0100)]
dsputil_template: Detemplatize the code
The indirection makes no sense without multiple instantiation.
Diego Biurrun [Thu, 9 Jan 2014 09:27:20 +0000 (10:27 +0100)]
Add missing headers to make template files compile (more) standalone
Diego Biurrun [Wed, 8 Jan 2014 23:56:33 +0000 (00:56 +0100)]
dsputil_template: Move bits that are used templatized into separate file
This allows detemplatizing the bits that are not instantiated twice.
Diego Biurrun [Tue, 7 Jan 2014 23:06:52 +0000 (00:06 +0100)]
dsputil: Move hpel_template #include out of dsputil_template
Multiple inclusion makes no sense as it is only used in the 8-bit case.
Diego Biurrun [Wed, 26 Mar 2014 10:58:58 +0000 (11:58 +0100)]
x86: h264_qpel: Fix typo in CALL_2X_PIXELS macro invocation
This fixes FATE with mmxext CPUFLAGS set.
Vittorio Giovara [Sat, 22 Mar 2014 23:34:13 +0000 (23:34 +0000)]
avcodec: add missing includes
Vittorio Giovara [Tue, 25 Mar 2014 11:26:24 +0000 (12:26 +0100)]
avconv: More descriptive message about framedrop
Vittorio Giovara [Tue, 25 Mar 2014 07:39:24 +0000 (07:39 +0000)]
vf_transpose: K&R formatting cosmetics
Derek Buitenhuis [Sun, 23 Mar 2014 14:31:06 +0000 (14:31 +0000)]
libx265: Only use one memcpy for headers
They're guaranteed by the x265 API to be contiguous in memory.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Michael Niedermayer [Fri, 14 Mar 2014 03:26:24 +0000 (04:26 +0100)]
libx265: Write global extradata when requested
Matroska, MP4, and other containers require it.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Diego Biurrun [Sat, 22 Mar 2014 17:41:43 +0000 (18:41 +0100)]
build: Add config option for CABAC code
This allows for more elegant dependency and object declarations.
Anton Khirnov [Mon, 17 Mar 2014 10:14:14 +0000 (11:14 +0100)]
avconv: don't warn on multiple frames per packet for codecs that expect it
Anton Khirnov [Mon, 17 Mar 2014 09:58:05 +0000 (10:58 +0100)]
avconv: print verbose per-stream transcoding statistics
Anton Khirnov [Mon, 17 Mar 2014 09:09:09 +0000 (10:09 +0100)]
avconv: split printing the final statistics into a separate function
Anton Khirnov [Mon, 17 Mar 2014 09:03:47 +0000 (10:03 +0100)]
avconv: rewrite output data size tracking
Store a variable per OutputStream instead of globals for
audio/video/extradata. This makes the code simpler and cleaner and fixes
2pass with multiple output streams.
Anton Khirnov [Mon, 17 Mar 2014 09:00:38 +0000 (10:00 +0100)]
avconv: explicitly report when the muxing overhead is unknown
Anton Khirnov [Mon, 17 Mar 2014 06:15:02 +0000 (07:15 +0100)]
avconv: remove unused nb_frames_dup
Frame duplication now happens in vf_fps.
Anton Khirnov [Wed, 19 Feb 2014 17:48:15 +0000 (18:48 +0100)]
{v,a}f_showinfo: print frame side data
Anton Khirnov [Wed, 19 Feb 2014 20:02:12 +0000 (21:02 +0100)]
mp3dec: export replaygain tags from ID3v2
Anton Khirnov [Wed, 19 Feb 2014 20:01:37 +0000 (21:01 +0100)]
af_volume: support using replaygain frame side data
Anton Khirnov [Wed, 19 Feb 2014 19:11:21 +0000 (20:11 +0100)]
frame: add a function for removing side data from a frame
Anton Khirnov [Wed, 19 Feb 2014 17:49:48 +0000 (18:49 +0100)]
avconv: add stream-global side data to the first demuxed packet
Anton Khirnov [Wed, 19 Feb 2014 17:52:26 +0000 (18:52 +0100)]
libavcodec: when decoding, copy replaygain side data to decoded frames
Anton Khirnov [Wed, 19 Feb 2014 14:29:06 +0000 (15:29 +0100)]
Add replaygain side data type and code for parsing replaygain tags.
Anton Khirnov [Wed, 19 Feb 2014 11:10:32 +0000 (12:10 +0100)]
lavf: add an AVStream field for exporting stream-global side data
Anton Khirnov [Wed, 19 Feb 2014 11:00:03 +0000 (12:00 +0100)]
lavc: give a typedeffed name to the AVPacket.side_data struct
Peter Krefting [Thu, 6 Feb 2014 12:51:39 +0000 (12:51 +0000)]
configure: Remove dcbzl check for e500v1 and e500v2 architectures
The DCBZL instruction is not available for the e500v1 and e500v2
architectures, but may still be recognized by the toolchain, so we
need to explicitly disable it for these architectures.
References: PowerPC™ e500 Core Family Reference Manual (Freescale)
Found-by: Ståle Kristoffersen <staalebk@ifi.uio.no>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Tanja Batchelor [Thu, 20 Mar 2014 01:02:42 +0000 (01:02 +0000)]
mpeg: K&R formatting cosmetics
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Luca Barbato [Wed, 19 Mar 2014 15:52:47 +0000 (16:52 +0100)]
h264: Split h264 slice decoding from nal decoding
Vittorio Giovara [Wed, 19 Mar 2014 15:47:12 +0000 (16:47 +0100)]
h264: move macroblock decoding into its own file
Luca Barbato [Fri, 28 Feb 2014 15:37:46 +0000 (15:37 +0000)]
build: Sort h264 objects
Luca Barbato [Wed, 19 Mar 2014 15:41:08 +0000 (16:41 +0100)]
build: h264 parser depends on full h264 decoder
Vittorio Giovara [Sun, 23 Mar 2014 16:28:34 +0000 (17:28 +0100)]
RELEASE_NOTES: mention new filters
Vittorio Giovara [Mon, 17 Mar 2014 17:03:47 +0000 (18:03 +0100)]
lavc: drop ff_pixfmt_list_420
Vittorio Giovara [Fri, 21 Mar 2014 01:14:26 +0000 (02:14 +0100)]
changelog: switch libx265 and compand entries
Luca Barbato [Sat, 22 Mar 2014 19:16:44 +0000 (20:16 +0100)]
configure: Always use -DOPJ_STATIC when checking for openjpeg
Unbreaks windows systems not providing pkgconf files.
Reported-By: Rafaël Carré <funman@videolan.org>
John Stebbins [Tue, 18 Mar 2014 13:11:00 +0000 (13:11 +0000)]
movenc: Allow override of major brand in ftyp atom
Signed-off-by: Tim Walker <tdskywalker@gmail.com>
Diego Biurrun [Sat, 22 Mar 2014 17:36:33 +0000 (18:36 +0100)]
lagarith: Fix typo in printf format string
libavcodec/lagarith.c:671:16: warning: '#' flag used with ‘%u’ gnu_printf format [-Wformat]
Diego Biurrun [Sat, 21 Dec 2013 15:03:59 +0000 (16:03 +0100)]
dsputil: Move thirdpel-related bits into their own context
Diego Biurrun [Wed, 29 Jan 2014 13:57:10 +0000 (14:57 +0100)]
x86: dsputil: Move hpeldsp-related declarations to a separate header
Diego Biurrun [Thu, 30 Jan 2014 00:06:28 +0000 (16:06 -0800)]
ppc: dsputil: Move hpeldsp-related declarations to a separate header
Diego Biurrun [Tue, 28 Jan 2014 17:19:21 +0000 (18:19 +0100)]
x86: dsputil: Move fpel declarations to a separate header
Diego Biurrun [Sat, 21 Dec 2013 16:33:17 +0000 (17:33 +0100)]
dsputil: Refactor duplicated CALL_2X_PIXELS / PIXELS16 macros
Diego Biurrun [Sun, 22 Dec 2013 15:25:24 +0000 (16:25 +0100)]
dsputil: Move ff_zigzag_direct and ff_crop_tab declarations to mathops.h
Diego Biurrun [Mon, 27 Jan 2014 13:27:04 +0000 (14:27 +0100)]
imgconvert: Move ff_deinterlace_line_*_mmx declarations out of dsputil
Diego Biurrun [Mon, 27 Jan 2014 14:06:54 +0000 (15:06 +0100)]
x86: dsputil: Move inline assembly macros to a separate header
Diego Biurrun [Wed, 29 Jan 2014 17:04:55 +0000 (18:04 +0100)]
nuv: Reuse the DSPContext from RTJpegContext
There is no point in populating NuvContext with another DSPContext.
Also split static and dynamic initialization bits to avoid running the
static initialization parts over and over.
Diego Biurrun [Thu, 20 Mar 2014 13:16:25 +0000 (14:16 +0100)]
float_dsp: Replace arch optimization ifdefs by if cascade
Arch-specific optimizations are handled this way everywhere else.
Diego Biurrun [Thu, 13 Mar 2014 11:13:33 +0000 (12:13 +0100)]
avcodec: more correct printf specifiers
Diego Biurrun [Wed, 12 Mar 2014 12:47:33 +0000 (13:47 +0100)]
avfilter: more correct printf format specifiers
wm4 [Thu, 20 Mar 2014 07:53:18 +0000 (08:53 +0100)]
vaapi: switch ff_vaapi_get_surface_id from Picture to AVFrame
Signed-off-by: Anton Khirnov <anton@khirnov.net>
wm4 [Thu, 20 Mar 2014 07:53:17 +0000 (08:53 +0100)]
vdpau: switch ff_vdpau_get_surface_id from Picture to AVFrame
This gets rid of aliasing completely unrelated structs to Picture.
Fixes the remaining compilation warnings in the vdpau code.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
wm4 [Thu, 20 Mar 2014 07:53:16 +0000 (08:53 +0100)]
vdpau: don't assume Picture and H264Picture are the same
The code passed H264Picture* and Picture*, and assumed the
hwaccel_picture_private field was in the same place in both
structs. Somehow this happened to work in Libav, but broke in
FFmpeg (and probably subtly breaks in Libav too).
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Diego Biurrun [Fri, 20 Dec 2013 14:44:16 +0000 (15:44 +0100)]
dsputil: Use correct type in me_cmp_func function pointer
Diego Biurrun [Fri, 20 Dec 2013 14:28:18 +0000 (15:28 +0100)]
build: Group general components separate from de/encoders in arch Makefiles
This is in line with how the top-level libavcodec Makefile is structured.
Diego Biurrun [Fri, 20 Dec 2013 14:19:44 +0000 (15:19 +0100)]
dsputil: Conditionally compile dsputil code on all architectures
Diego Biurrun [Mon, 30 Dec 2013 11:09:03 +0000 (12:09 +0100)]
dsputil: Propagate bit depth information to all (sub)init functions
This avoids recalculating the value over and over again.
Diego Biurrun [Thu, 30 Jan 2014 14:03:55 +0000 (06:03 -0800)]
arm: dsputil: K&R formatting cosmetics
Diego Biurrun [Wed, 15 Jan 2014 18:54:17 +0000 (19:54 +0100)]
ppc: dsputil: Drop trailing semicolon from macros
This allows for a more natural macro usage.
Diego Biurrun [Wed, 15 Jan 2014 13:36:28 +0000 (14:36 +0100)]
ppc: dsputil: Merge some declarations and initializations
Diego Biurrun [Wed, 15 Jan 2014 11:17:20 +0000 (12:17 +0100)]
ppc: dsputil: Simplify some ifdeffed function definitions
Diego Biurrun [Wed, 15 Jan 2014 11:14:20 +0000 (12:14 +0100)]
ppc: dsputil: Drop some unnecessary parentheses
Diego Biurrun [Wed, 15 Jan 2014 17:27:47 +0000 (18:27 +0100)]
ppc: dsputil: more K&R formatting cosmetics
Diego Biurrun [Wed, 15 Jan 2014 11:07:55 +0000 (12:07 +0100)]
ppc: dsputil: K&R formatting cosmetics
Diego Biurrun [Wed, 15 Jan 2014 10:24:43 +0000 (11:24 +0100)]
ppc: dsputil: comment formatting and wording/grammar improvements
Diego Biurrun [Fri, 10 Jan 2014 13:41:47 +0000 (14:41 +0100)]
hpeldsp_template: Merge some declarations and initializations
Diego Biurrun [Fri, 10 Jan 2014 13:26:35 +0000 (14:26 +0100)]
hpeldsp_template: K&R formatting cosmetics
Diego Biurrun [Fri, 10 Jan 2014 11:11:41 +0000 (12:11 +0100)]
hpel_template: Drop some unnecessary parentheses
Diego Biurrun [Fri, 10 Jan 2014 11:11:04 +0000 (12:11 +0100)]
hpel_template: K&R formatting cosmetics
Janne Grunau [Tue, 18 Mar 2014 23:09:22 +0000 (00:09 +0100)]
float-dsp-test: do not use C99's predefined __func__
It is not supported by all compilers on FATE. Fixes "some test were
skipped" errors.
Martin Storsjö [Wed, 19 Mar 2014 12:50:38 +0000 (14:50 +0200)]
float_dsp: Use LOCAL_ALIGNED for instead of DECLARE_ALIGNED within functions
This fixes fate-float_dsp-test on RVCT 4.0.
Signed-off-by: Martin Storsjö <martin@martin.st>