Diego Biurrun
81b9bf3192
dct-test: Move arch-specific bits into arch-specific subdirectories
2014-07-21 01:10:11 -07:00
Janne Grunau
a9f3f5fadb
Revert "tiff: support reading gray+alpha at 8 bits"
...
This reverts commit b31d76e45f
as it
uses an unkown pixel format.
2014-07-21 08:35:32 +02:00
Ronald S. Bultje
c39059bea3
h264: Fix direct temporal mvs for bottom-field-first poc order
...
Such files can be created using the --bff x264 option.
Sample-Id: h264_direct_temporal_mvs_bff.mkv
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-07-20 23:32:13 +01:00
Carl Eugen Hoyos
b31d76e45f
tiff: support reading gray+alpha at 8 bits
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-07-20 23:32:13 +01:00
Diego Biurrun
4de8b60684
idct: Move arm-specific declarations to a header in the arm directory
2014-07-20 13:02:17 -07:00
Nidhi Makhijani
9f99a5f1d0
mpegencconetxt: Move rv10-specific orig_width/orig_height where they belong
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-20 05:13:01 -07:00
Diego Biurrun
1a583c0c60
fdct: Move ppc-specific declarations to a header in the ppc directory
2014-07-19 02:38:22 -07:00
Diego Biurrun
5dcc201505
simple_idct: Move x86-specific declarations to a header in the x86 directory
2014-07-19 02:33:36 -07:00
Diego Biurrun
85cabb8d00
fdct: Move x86-specific declarations to a header in the x86 directory
2014-07-19 02:25:59 -07:00
Diego Biurrun
e0a2e60c0a
dct-test: Reuse enum idct_permutation_type instead of duplicating it
2014-07-18 13:04:39 -07:00
Diego Biurrun
913fa85a2c
dct-test: Skip indirection for MMX IDCT permutation
2014-07-18 09:58:17 -07:00
Diego Biurrun
9e0b29911f
x86: dnxhdenc: Eliminate some unnecessary ifdefs
2014-07-18 09:58:17 -07:00
Nidhi Makhijani
b4edbe9a0e
libgsm: Split decoder and encoder
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-18 17:27:54 +02:00
Diego Biurrun
8b0dd4942a
idctdsp: prettyprinting cosmetics
2014-07-18 07:51:03 -07:00
Diego Biurrun
b4987f7219
idct: Convert IDCT permutation #defines to an enum
...
Also rename the enum values to be consistent with other DCT permutations.
2014-07-18 07:51:03 -07:00
Diego Biurrun
24af1aa0f7
fft: Convert FFT/MDCT permutation type #defines to enums
2014-07-18 07:29:13 -07:00
Diego Biurrun
746ad4e0df
dct-test: Improve CPU flags struct member name
2014-07-18 06:14:43 -07:00
Diego Biurrun
cb44b21da1
dct-test: Move cpu_flags variable out of global scope
2014-07-18 06:14:42 -07:00
Martin Storsjö
7e18a727d2
arm: cosmetics: Consistently use lowercase for shift operators
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-18 11:17:40 +03:00
Martin Storsjö
fe67f3fbb5
arm: cosmetics: Fix a misaligned asm operand
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-18 11:17:35 +03:00
Ben Avison
87552d54d3
armv6: Accelerate ff_fft_calc for general case (nbits != 4)
...
The previous implementation targeted DTS Coherent Acoustics, which only
requires nbits == 4 (fft16()). This case was (and still is) linked directly
rather than being indirected through ff_fft_calc_vfp(), but now the full
range from radix-4 up to radix-65536 is available. This benefits other codecs
such as AAC and AC3.
The implementaion is based upon the C version, with each routine larger than
radix-16 calling a hierarchy of smaller FFT functions, then performing a
post-processing pass. This pass benefits a lot from loop unrolling to
counter the long pipelines in the VFP. A relaxed calling standard also
reduces the overhead of the call hierarchy, and avoiding the excessive
inlining performed by GCC probably helps with I-cache utilisation too.
I benchmarked the result by measuring the number of gperftools samples that
hit anywhere in the AAC decoder (starting from aac_decode_frame()) or
specifically in the FFT routines (fft4() to fft512() and pass()) for the
same sample AAC stream:
Before After
Mean StdDev Mean StdDev Confidence Change
Audio decode 2245.5 53.1 1599.6 43.8 100.0% +40.4%
FFT routines 940.6 22.0 348.1 20.8 100.0% +170.2%
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-18 01:34:23 +03:00
Ben Avison
5c22e8e4ad
armv6: Accelerate ff_imdct_half for general case (mdct_bits != 6)
...
The previous implementation targeted DTS Coherent Acoustics, which only
requires mdct_bits == 6. This relatively small size lent itself to
unrolling the loops a small number of times, and encoding offsets
calculated at assembly time within the load/store instructions of each
iteration.
In the more general case (codecs such as AAC and AC3) much larger arrays
are used - mdct_bits == [8, 9, 11]. The old method does not scale for
these cases, so more integer registers are used with non-unrolled versions
of the loops (and with some stack spillage). The postrotation filter loop
is still unrolled by a factor of 2 to permit the double-buffering of some
VFP registers to facilitate overlap of neighbouring iterations.
I benchmarked the result by measuring the number of gperftools samples
that hit anywhere in the AAC decoder (starting from aac_decode_frame())
or specifically in ff_imdct_half_c / ff_imdct_half_vfp, for the same
example AAC stream:
Before After
Mean StdDev Mean StdDev Confidence Change
aac_decode_frame 2368.1 35.8 2117.2 35.3 100.0% +11.8%
ff_imdct_half_* 457.5 22.4 251.2 16.2 100.0% +82.1%
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-18 01:34:08 +03:00
Diego Biurrun
2d60444331
dsputil: Split motion estimation compare bits off into their own context
2014-07-17 09:07:10 -07:00
Diego Biurrun
c23ce454b3
x86: dsputil: Coalesce all init files
...
This makes the init files match the structure of the dsputil split.
2014-07-17 03:32:56 -07:00
Luca Barbato
2db953f846
h264: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-07-17 03:05:24 -07:00
Diego Biurrun
a11ef610ee
h264: Remove some commented-out, broken cruft
2014-07-16 12:26:34 -07:00
Diego Biurrun
adff0a8166
arm: dsputil: Coalesce all init files
2014-07-16 06:18:23 -07:00
Vittorio Giovara
14b4e64eab
g2meet: allow size changes within original sizes
2014-07-15 20:08:16 -04:00
Diego Biurrun
acf91215c7
x86: dsputil: Avoid pointless CONFIG_ENCODERS indirection
...
The remaining dsputil bits are encoding-specific anyway.
2014-07-13 07:01:05 -07:00
Diego Biurrun
a8552ee3eb
ppc: dsputil: Coalesce all init files
2014-07-13 04:10:13 -07:00
Diego Biurrun
1173320249
dsputil: Drop unused bit_depth parameter from all init functions
2014-07-11 06:38:26 -07:00
Gildas Cocherel
458e7c9483
hevc: implement pic_output_flag handling
...
Sample-Id: OPFLAG_B_Qualcomm_1.bit, OPFLAG_C_Qualcomm_1.bit
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-07-11 08:52:54 +00:00
Mickaël Raulet
f43789b76e
hevc: set the keyframe flag on output frames
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-07-11 08:43:01 +00:00
Mickaël Raulet
1493b237bd
hevc: Replace nal type chek with equivalent IS_IRAP macro
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-07-11 08:41:32 +00:00
Anton Khirnov
17e9d52c8c
hevc_ps: remove a write-only variable
2014-07-11 08:38:51 +00:00
Diego Biurrun
f46bb608d9
dsputil: Split off pixel block routines into their own context
2014-07-09 08:05:26 -07:00
Vittorio Giovara
0569a7e0bd
hevc: parse display orientation SEI message
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-07-09 10:18:06 -04:00
Vittorio Giovara
18e3d61e9e
h264: parse display orientation SEI message
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-07-09 10:17:42 -04:00
Anton Khirnov
d5cf5afabb
adxdec: get rid of an avpriv function
...
The only thing the demuxer needs is the sample rate to set the timebase,
which can be simply read with AV_RB32.
2014-07-09 13:37:18 +00:00
Anton Khirnov
f6ee61fb05
lavc: export DV profile API used by muxer/demuxer as public
2014-07-09 13:35:07 +00:00
Martin Storsjö
79fce1ec8a
arm: Avoid using the 'setend' instruction on ARMv7 and newer
...
This instruction is deprecated on ARMv8, and it is serializing on
some ARMv7 cores as well [1].
[1] http://article.gmane.org/gmane.linux.ports.arm.kernel/339293
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-08 12:09:09 +03:00
Diego Biurrun
a9aee08d90
dsputil: Split off FDCT bits into their own context
2014-07-07 12:28:45 -07:00
Omer Osman
1e9a93bfca
libfdk-aacdec: Decode the first AAC frame to reliably identify the bitstream
...
For implicit signaling cases (as possible for Spectral Band Replication
and Parametric Stereo Tools), the decoder must decode the first frame to
correctly identify the stream configuration (as called from
avformat_find_stream_info). The mechanism for this is built-in and only
requires adding CODEC_CAP_CHANNEL_CONF to the libfdk-aacdec AVCodec
struct.
Signed-off-by: Omer Osman <omer.osman@iis.fraunhofer.de>
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-07 22:09:15 +03:00
Nidhi Makhijani
246f869590
vmd: Split audio and video decoder
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-07 07:45:00 -07:00
Diego Biurrun
3c650efb81
dsputil: Move draw_edges() to mpegvideoencdsp
2014-07-06 14:48:50 -07:00
Diego Biurrun
c166148409
dsputil: Move pix_sum, pix_norm1, shrink function pointers to mpegvideoenc
2014-07-06 14:26:53 -07:00
Diego Biurrun
8d686ca59d
dsputil: Split off *_8x8basis to a separate context
2014-07-06 13:09:24 -07:00
Nidhi Makhijani
d6902070c5
dsicin: Split audio and video decoder
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-06 11:27:34 -07:00
Nidhi Makhijani
2fc85fe96e
bmv: Split audio and video decoder
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-06 10:58:43 -07:00
Nidhi Makhijani
b0633f83f2
paf: split audio and video decoder
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-06 09:36:17 -07:00
Nidhi Makhijani
373a6dda54
cljr: split decoder and encoder
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-07-06 09:28:20 -07:00
Diego Biurrun
b0de1c7663
x86: build: Only compile FDCT code if MMX is enabled
...
All other files containing purely inline assembly are treated the same way.
2014-07-05 04:18:34 -07:00
Diego Biurrun
12f129e545
x86: Unconditionally compile blockdsp and svq1enc init files
...
This avoids a link failure with MMX disabled as the init functions
are referenced unconditionally.
2014-07-05 04:18:34 -07:00
Diego Biurrun
009331303a
x86: huffyuvdsp: Move inline assembly to init file
...
This avoids a link failure with MMX disabled as now code and
initialization are compiled under the same condition.
2014-07-05 04:18:34 -07:00
Omer Osman
e0bfe34ea8
libfdk-aacdec: Reduce the default decoder delay by one frame
...
The default error concealment method if none is set via
aacDecoder_SetParam(AAC_CONCEAL_METHOD) is set in
CConcealment_InitCommonData within the fdk-aac library
and is set to Energy Interpolation. This method requires one frame
delay to the output. To reduce the default decoder output delay and
avoid missing the last frame in file based decoding, use Noise
Substitution as the default concealment method.
Signed-off-by: Omer Osman <omer.osman@iis.fraunhofer.de>
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-07-05 00:47:36 +03:00
Diego Biurrun
391ecc961c
x86: mpegvideoenc: Change SIMD optimization name suffixes to lowercase
2014-07-03 13:41:41 -07:00
Justin Ruggles
c6698dfe7c
webpdec: Fix decoding of the huffman group indices.
...
Per the specification, "The red and green components of a pixel
define the meta Huffman code used in a particular block of the ARGB
image."
2014-07-03 15:29:01 -04:00
Luca Barbato
df949b645b
hevc: Use the local context variable when needed
2014-07-02 23:30:49 -04:00
Diego Biurrun
d0449e7545
vaapi: Update idct_permutation location after dsputil/idctdsp split
2014-07-01 07:36:22 -07:00
Diego Biurrun
79793f8337
Update Fiona's name in copyright statements.
2014-07-01 03:26:51 -07:00
Diego Biurrun
e3fcb14347
dsputil: Split off IDCT bits into their own context
2014-06-30 07:58:46 -07:00
Diego Biurrun
adcb8392c9
mjpeg: Split off bits shared by MJPEG and LJPEG encoders
...
This obviates a dependency of the LJPEG encoder on mpegvideo.
2014-06-30 07:53:40 -07:00
John Stebbins
253d0be6a1
pgssubdec: handle more complex PGS scenarios
...
Add ability to handle multiple palettes and objects simultaneously.
Each simultaneous object is given its own AVSubtitleRect.
Note that there can be up to 64 currently valid objects, but only
2 at any one time can be "presented".
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-30 12:18:58 +02:00
Diego Biurrun
5dd8c08fd5
mpeg: Change ff_convert_matrix() to take an MpegEncContext parameter
...
This will come in handy during dsputil splitting.
2014-06-27 05:17:11 -07:00
Diego Biurrun
e63b818dbe
dv: Properly split decoder and encoder initialization
2014-06-27 05:03:06 -07:00
Diego Biurrun
d2869aea04
dsputil: Move MMX/SSE2-optimized IDCT bits to the x86 subdirectory
2014-06-26 16:15:07 -07:00
Diego Biurrun
24f45c1622
fate: Add dependencies for dct/fft/mdct/rdft tests
2014-06-26 16:03:21 -07:00
Dirk Ausserhaus
5ec6d152e2
indeo4: B-frames decoding
...
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-06-26 19:17:33 +02:00
Kostya Shishkov
422e14f721
indeo2: rename stride to pitch for consistency with other Indeo decoders
2014-06-26 19:16:08 +02:00
Anton Khirnov
1b04eb20f7
lavc: do not allocate edges in the default get_buffer2()
2014-06-26 16:02:12 +02:00
Gildas Cocherel
a0e1c3517a
hevc: remove unused array min_cb_addr_zs
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-26 15:51:54 +02:00
Kieran Kunhya
9b60d91979
hevc: Allow out of bound values for num_reorder_pics
...
This fixes decoding for a sample that cannot be shared
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-26 07:14:57 +02:00
Diego Biurrun
593d2326ef
dv: Replace a magic number by sizeof()
2014-06-25 15:32:58 -07:00
Diego Biurrun
5ab03e41e5
x86: h264dsp: Fix link failure with optimizations disabled
...
With optimzations disabled compilers have trouble doing dead code
elimination on 'if (foo && 0)' expressions, while 'if (0 && foo)'
still works, so use the latter to avoid problems.
Bug-Id: 707
2014-06-25 15:24:51 -07:00
Derek Buitenhuis
2deb614272
mjpegdec: Properly set the context colorspace info
...
The JPEG spec requires it to be this.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2014-06-24 20:42:40 +01:00
Vittorio Giovara
772d150a6e
h264: error out from decode_nal_units() when AV_EF_EXPLODE is set
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-06-23 18:58:57 -04:00
Vittorio Giovara
10306e9c5f
jpeg2000: fix dereferencing invalid pointers during cleanup
...
CC: libav-stable@libav.org
Found-by: Laurent Butti <laurentb@gmail.com>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-06-23 18:58:29 -04:00
Diego Biurrun
fab9df63a3
dsputil: Split off global motion compensation bits into a separate context
2014-06-23 09:58:17 -07:00
Janne Grunau
f23d26a686
h264: avoid using uninitialized memory in NEON chroma mc
...
Adapt commit 982b596ea6
for the arm and
aarch64 NEON asm. 5-10% faster on Cortex-A9.
2014-06-23 16:32:15 +02:00
Dirk Ausserhaus
e121ac634b
indeo45: use is_indeo4 context flag instead of checking codec ID
...
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-06-23 09:29:39 +02:00
Diego Biurrun
c67b449beb
dsputil: Split bswap*_buf() off into a separate context
2014-06-22 18:22:31 -07:00
Diego Biurrun
7b9ef8d701
mpeg: Split error resilience bits off into a separate file
2014-06-22 17:36:37 -07:00
Justin Ruggles
f2f2e7627f
Check mp3 header before calling avpriv_mpegaudio_decode_header().
...
As indicated in the function documentation, the header MUST be
checked prior to calling it because no consistency check is done
there.
CC:libav-stable@libav.org
2014-06-22 20:31:58 -04:00
Justin Ruggles
44127546b0
Check if an mp3 header is using a reserved sample rate.
...
Fixes an invalid read past the end of avpriv_mpa_freq_tab.
Fixes divide-by-zero due to sample_rate being set to 0.
Bug-Id: 705
CC:libav-stable@libav.org
2014-06-22 20:31:57 -04:00
Luca Barbato
0ef256d515
libx264: Correctly manage constant rate factor params
...
By default they are set to -1.
2014-06-22 21:01:07 +02:00
Diego Biurrun
f83896abda
ape: Replace memset(0) by zero initialization
2014-06-22 18:43:11 +02:00
Diego Biurrun
8d695dc411
mpeg: Mark ff_mpeg_set_erpic() static
...
It is not used outside of the file.
2014-06-22 06:28:46 -07:00
Diego Biurrun
c54e118722
build: Have the eatqi decoder depend on the MPEG-1 decoder
...
eatqi uses more than just the shared mpegvideo bits.
2014-06-22 06:28:46 -07:00
Diego Biurrun
03391b5432
build: Add missing object files for Matroska demuxer
2014-06-22 06:28:46 -07:00
Diego Biurrun
9a9e2f1c8a
dsputil: Split audio operations off into a separate context
2014-06-22 06:20:15 -07:00
Vittorio Giovara
ca1e36a8e4
h264: fix build when error resilience is disabled
2014-06-20 12:48:06 -04:00
Justin Ruggles
9e500efdbe
Add av_image_check_sar() and use it to validate SAR
2014-06-20 10:39:33 -04:00
Anton Khirnov
d349afb07b
dv: cosmetics, reindent
2014-06-20 14:15:39 +02:00
Anton Khirnov
650dee63c8
dv: get rid of global non-const tables
...
Instead, store them in the context and compute on each parameter change.
2014-06-20 14:15:31 +02:00
Anton Khirnov
778111592b
dvenc: initialize the profile only once, at init
...
We do not allow the frame parameters to change during encoding, so there
is no need to do this for each frame.
2014-06-20 14:15:16 +02:00
Anton Khirnov
874390e163
lavc: add a convenience function for rescaling timestamps in a packet
2014-06-20 14:14:11 +02:00
Dirk Ausserhaus
b2290bf10b
i263: skip dummy frames
...
Intel i263 codec has special 8-byte dummy frames that should not be decoded,
so do not even attempt to decode them and skip them instead.
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-06-19 13:13:20 +02:00
Diego Biurrun
e74433a8e6
dsputil: Split clear_block*/fill_block* off into a separate context
2014-06-18 14:07:23 -07:00
Luca Barbato
869fc416f7
hevc: Mark num_bins_in_se as unused
...
Only its size is actually used. Silence a clang warning.
2014-06-18 22:03:40 +02:00
Niels Möller
f2ce63246f
dcadec: replace ldexpf with a multiplication by a constant
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-06-18 08:23:15 +02:00