1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-03 05:10:03 +02:00
FFmpeg/libavcodec
Martin Storsjö 2ed67eba96 arm: Add NEON optimizations for 10 and 12 bit vp9 itxfm
This work is sponsored by, and copyright, Google.

This is structured similarly to the 8 bit version. In the 8 bit
version, the coefficients are 16 bits, and intermediates are 32 bits.

Here, the coefficients are 32 bit. For the 4x4 transforms for 10 bit
content, the intermediates also fit in 32 bits, but for all other
transforms (4x4 for 12 bit content, and 8x8 and larger for both 10
and 12 bit) the intermediates are 64 bit.

For the existing 8 bit case, the 8x8 transform fit all coefficients in
registers; for 10/12 bit, when the coefficients are 32 bit, the 8x8
transform also has to be done in slices of 4 pixels (just as 16x16 and
32x32 for 8 bit).

The slice width also shrinks from 4 elements to 2 elements in parallel
for the 16x16 and 32x32 cases.

The 16 bit coefficients from idct_coeffs and similar tables also need
to be lenghtened to 32 bit in order to be used in multiplication with
vectors with 32 bit elements. This leads to the fixed coefficient
vectors needing more space, leading to more cases where they have to
be reloaded within the transform (in iadst16).

This technically would need testing in checkasm for subpartitions
in increments of 2, but that slows down normal checkasm runs
excessively.

Examples of relative speedup compared to the C version, from checkasm:
                                     Cortex    A7     A8     A9    A53
vp9_inv_adst_adst_4x4_sub4_add_10_neon:      4.83  11.36   5.22   6.77
vp9_inv_adst_adst_8x8_sub8_add_10_neon:      4.12   7.60   4.06   4.84
vp9_inv_adst_adst_16x16_sub16_add_10_neon:   3.93   8.16   4.52   5.35
vp9_inv_dct_dct_4x4_sub1_add_10_neon:        1.36   2.57   1.41   1.61
vp9_inv_dct_dct_4x4_sub4_add_10_neon:        4.24   8.66   5.06   5.81
vp9_inv_dct_dct_8x8_sub1_add_10_neon:        2.63   4.18   1.68   2.87
vp9_inv_dct_dct_8x8_sub4_add_10_neon:        4.52   9.47   4.24   5.39
vp9_inv_dct_dct_8x8_sub8_add_10_neon:        3.45   7.34   3.45   4.30
vp9_inv_dct_dct_16x16_sub1_add_10_neon:      3.56   6.21   2.47   4.32
vp9_inv_dct_dct_16x16_sub2_add_10_neon:      5.68  12.73   5.28   7.07
vp9_inv_dct_dct_16x16_sub8_add_10_neon:      4.42   9.28   4.24   5.45
vp9_inv_dct_dct_16x16_sub16_add_10_neon:     3.41   7.29   3.35   4.19
vp9_inv_dct_dct_32x32_sub1_add_10_neon:      4.52   8.35   3.83   6.40
vp9_inv_dct_dct_32x32_sub2_add_10_neon:      5.86  13.19   6.14   7.04
vp9_inv_dct_dct_32x32_sub16_add_10_neon:     4.29   8.11   4.59   5.06
vp9_inv_dct_dct_32x32_sub32_add_10_neon:     3.31   5.70   3.56   3.84
vp9_inv_wht_wht_4x4_sub4_add_10_neon:        1.89   2.80   1.82   1.97

The speedup compared to the C functions is around 1.3 to 7x for the
full transforms, even higher for the smaller subpartitions.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-01-24 22:35:56 +02:00
..
aarch64 aarch64: vp9mc: Fix a comment to refer to a register with the right name 2017-01-14 21:13:43 +01:00
alpha
arm arm: Add NEON optimizations for 10 and 12 bit vp9 itxfm 2017-01-24 22:35:56 +02:00
avr32
bfin
mips
neon
ppc huffyuvdsp: move functions only used by huffyuv from lossless_videodsp 2017-01-12 22:53:05 -03:00
sh4
sparc
tests avcodec/tests/fft: Fix indention of dct_init() 2017-01-01 23:04:31 +01:00
x86 lossless_videodsp: rename add_hfyu_left_pred_int16 to add_left_pred_int16 2017-01-12 22:53:05 -03:00
.gitignore
4xm.c
8bps.c
8svx.c
012v.c
a64colors.h
a64multienc.c
a64tables.h
aac_ac3_parser.c
aac_ac3_parser.h
aac_adtstoasc_bsf.c
aac_defines.h
aac_parser.c
aac.h
aacadtsdec.c
aacadtsdec.h
aaccoder_trellis.h
aaccoder_twoloop.h
aaccoder.c
aacdec_fixed.c
aacdec_template.c
aacdec.c
aacdectab.h
aacenc_is.c
aacenc_is.h
aacenc_ltp.c
aacenc_ltp.h
aacenc_pred.c
aacenc_pred.h
aacenc_quantization_misc.h
aacenc_quantization.h
aacenc_tns.c
aacenc_tns.h
aacenc_utils.h
aacenc.c
aacenc.h
aacenctab.c
aacenctab.h
aacps_fixed_tablegen.c
aacps_fixed_tablegen.h
aacps_fixed.c
aacps_float.c
aacps_tablegen_template.c
aacps_tablegen.c
aacps_tablegen.h
aacps.c
aacps.h
aacpsdata.c
aacpsdsp_fixed.c
aacpsdsp_float.c
aacpsdsp_template.c
aacpsdsp.h
aacpsy.c
aacsbr_fixed_tablegen.h
aacsbr_fixed.c
aacsbr_tablegen_common.h
aacsbr_tablegen.h
aacsbr_template.c
aacsbr.c
aacsbr.h
aacsbrdata.h
aactab.c
aactab.h
aandcttab.c
aandcttab.h
aasc.c
ac3_parser.c
ac3_parser.h
ac3.c
ac3.h
ac3dec_data.c
ac3dec_data.h
ac3dec_fixed.c avcodec/ac3dec: add consistent noise generation option. 2017-01-22 02:29:16 +01:00
ac3dec_float.c avcodec/ac3dec: add consistent noise generation option. 2017-01-22 02:29:16 +01:00
ac3dec.c avcodec/ac3dec: add consistent noise generation option. 2017-01-22 02:29:16 +01:00
ac3dec.h avcodec/ac3dec: add consistent noise generation option. 2017-01-22 02:29:16 +01:00
ac3dsp.c
ac3dsp.h
ac3enc_fixed.c
ac3enc_float.c
ac3enc_opts_template.c
ac3enc_template.c
ac3enc.c
ac3enc.h
ac3tab.c
ac3tab.h
acelp_filters.c
acelp_filters.h
acelp_pitch_delay.c
acelp_pitch_delay.h
acelp_vectors.c
acelp_vectors.h
adpcm_data.c
adpcm_data.h
adpcm.c
adpcm.h
adpcmenc.c
adx_parser.c
adx.c
adx.h
adxdec.c
adxenc.c
aic.c
alac_data.c
alac_data.h
alac.c
alacdsp.c
alacdsp.h
alacenc.c
aliaspixdec.c
aliaspixenc.c
allcodecs.c avcodec: add XMA2 parser 2017-01-20 13:58:41 +01:00
alsdec.c
amr.h
amrnbdata.h
amrnbdec.c
amrwbdata.h
amrwbdec.c
anm.c
ansi.c
apedec.c
apng.h
ass_split.c
ass_split.h
ass.c
ass.h
assdec.c
assenc.c
asv.c
asv.h
asvdec.c
asvenc.c
atrac1.c
atrac1data.h
atrac3.c avcodec/atrac3: allow 6 channels (non-joint stereo) 2017-01-20 12:53:57 +01:00
atrac3data.h
atrac3plus_data.h
atrac3plus.c
atrac3plus.h
atrac3plusdec.c
atrac3plusdsp.c
atrac.c
atrac.h
audio_frame_queue.c
audio_frame_queue.h
audioconvert.c
audioconvert.h
audiodsp.c
audiodsp.h
audiotoolboxdec.c
audiotoolboxenc.c
aura.c
avcodec.h avcodec/avcodec: fix lil typo in comment 2017-01-19 20:21:36 +01:00
avcodecres.rc
avdct.c
avdct.h
avfft.c
avfft.h
avpacket.c
avpicture.c
avrndec.c
avs.c
avuidec.c
avuienc.c
bethsoftvideo.c
bethsoftvideo.h
bfi.c
bgmc.c
bgmc.h
bink.c
binkaudio.c
binkdata.h
binkdsp.c
binkdsp.h
bintext.c
bintext.h
bit_depth_template.c
bitstream_filter.c
bitstream_filters.c
bitstream.c avcodec: move bitswap_32() into a header file 2017-01-11 15:40:01 +01:00
blockdsp.c
blockdsp.h
bmp_parser.c
bmp.c
bmp.h
bmpenc.c
bmvaudio.c
bmvvideo.c
brenderpix.c
bsf.c avcodec/bsf: fix resource leak in av_bsf_list_parse_str 2017-01-11 04:09:47 +08:00
bsf.h
bswapdsp.c
bswapdsp.h
bytestream.h
c93.c
cabac_functions.h
cabac.c
cabac.h
canopus.c
canopus.h
cavs_parser.c
cavs.c
cavs.h
cavsdata.c
cavsdec.c
cavsdsp.c
cavsdsp.h
cbrt_data_fixed.c
cbrt_data.c
cbrt_data.h
cbrt_fixed_tablegen.c
cbrt_tablegen_template.c
cbrt_tablegen.c
cbrt_tablegen.h
ccaption_dec.c
cdgraphics.c
cdxl.c
celp_filters.c
celp_filters.h
celp_math.c
celp_math.h
cfhd.c
cfhd.h
cfhddata.c
cga_data.c
cga_data.h
chomp_bsf.c
cinepak.c
cinepakenc.c avcodec/cinepakenc: remove CVID from long description 2017-01-14 16:56:47 +01:00
cljrdec.c
cljrenc.c
cllc.c
cngdec.c
cngenc.c
codec_desc.c avcodec: add Newtek SpeedHQ decoder 2017-01-11 16:02:10 +01:00
cook_parser.c
cook.c
cookdata.h
copy_block.h
cos_tablegen.c
cpia.c
crystalhd.c
cscd.c
cuvid.c avcodec/cuvid: fail early if GPU can't handle video resolution 2017-01-23 17:49:35 +01:00
cyuv.c
d3d11va.c
d3d11va.h
dca_core_bsf.c
dca_core.c dcaenc: Implementation of Huffman codes for DCA encoder 2017-01-15 18:17:12 +00:00
dca_core.h
dca_exss.c
dca_exss.h
dca_lbr.c
dca_lbr.h
dca_parser.c
dca_syncwords.h
dca_xll.c avcodec/dca: add support for 20-bit XLL 2017-01-07 11:28:12 -03:00
dca_xll.h
dca.c
dca.h
dcadata.c dcaenc: Implementation of Huffman codes for DCA encoder 2017-01-15 18:17:12 +00:00
dcadata.h dcaenc: Implementation of Huffman codes for DCA encoder 2017-01-15 18:17:12 +00:00
dcadct.c
dcadct.h
dcadec.c
dcadec.h
dcadsp.c
dcadsp.h
dcaenc.c dcaenc: Use Huffman codes for Bit Allocation Index 2017-01-20 10:03:46 +00:00
dcaenc.h dcaenc: Implementation of Huffman codes for DCA encoder 2017-01-15 18:17:12 +00:00
dcahuff.c dcaenc: Use Huffman codes for Bit Allocation Index 2017-01-20 10:03:46 +00:00
dcahuff.h dcaenc: Use Huffman codes for Bit Allocation Index 2017-01-20 10:03:46 +00:00
dcamath.h
dct32_fixed.c
dct32_float.c
dct32_template.c
dct32.h
dct.c
dct.h
dctref.c
dctref.h
dds.c
dfa.c
dirac_arith.c
dirac_arith.h
dirac_dwt_template.c
dirac_dwt.c
dirac_dwt.h
dirac_parser.c
dirac_vlc.c
dirac_vlc.h
dirac.c
dirac.h
diracdec.c
diracdsp.c
diracdsp.h
diractab.c
diractab.h
dnxhd_parser.c
dnxhddata.c
dnxhddata.h
dnxhddec.c
dnxhdenc.c
dnxhdenc.h
dpcm.c
dpx_parser.c
dpx.c
dpxenc.c
dsd_tablegen.h
dsd.c
dsd.h
dsddec.c
dsicinaudio.c
dsicinvideo.c
dss_sp.c
dstdec.c
dump_extradata_bsf.c
dv_profile_internal.h
dv_profile.c
dv_profile.h
dv_tablegen.c
dv_tablegen.h
dv.c
dv.h
dvaudio_parser.c
dvaudio.h
dvaudiodec.c
dvbsub_parser.c
dvbsub.c
dvbsubdec.c
dvbtxt.h
dvd_nav_parser.c
dvdata.c
dvdata.h
dvdec.c
dvdsub_parser.c
dvdsubdec.c
dvdsubenc.c
dvenc.c
dxa.c
dxtory.c
dxv.c
dxva2_h264.c dxva2: use a single macro to test if the DXVA context is valid 2017-01-16 02:54:04 +01:00
dxva2_hevc.c dxva2: use a single macro to test if the DXVA context is valid 2017-01-16 02:54:04 +01:00
dxva2_internal.h dxva2: allow an empty array of ID3D11VideoDecoderOutputView 2017-01-16 02:54:04 +01:00
dxva2_mpeg2.c dxva2: use a single macro to test if the DXVA context is valid 2017-01-16 02:54:04 +01:00
dxva2_vc1.c dxva2: use a single macro to test if the DXVA context is valid 2017-01-16 02:54:04 +01:00
dxva2_vp9.c dxva2: use a single macro to test if the DXVA context is valid 2017-01-16 02:54:04 +01:00
dxva2.c dxva2: get the slice number directly from the surface in D3D11VA 2017-01-16 02:54:04 +01:00
dxva2.h
eac3_data.c
eac3_data.h
eac3dec.c
eac3enc.c
eac3enc.h
eacmv.c
eaidct.c
eaidct.h
eamad.c
eatgq.c
eatgv.c
eatqi.c
elbg.c
elbg.h
elsdec.c
elsdec.h
error_resilience.c avcodec/error_resilience: update indention after last commit 2017-01-22 21:43:06 +01:00
error_resilience.h
escape124.c
escape130.c
evrcdata.h
evrcdec.c
exif.c
exif.h
exr.c avcodec/exr: export writer info into frame metadata 2017-01-19 21:06:34 +01:00
faandct.c
faandct.h
faanidct.c
faanidct.h
faxcompr.c
faxcompr.h
fdctdsp.c
fdctdsp.h
ffjni.c
ffjni.h
fft_fixed_32.c
fft_fixed.c
fft_float.c
fft_init_table.c
fft_table.h
fft_template.c
fft-internal.h
fft.h
ffv1_template.c
ffv1.c
ffv1.h
ffv1dec_template.c
ffv1dec.c
ffv1enc_template.c
ffv1enc.c
ffwavesynth.c
fic.c
file_open.c
flac_parser.c
flac.c
flac.h
flacdata.c
flacdata.h
flacdec.c
flacdsp_lpc_template.c
flacdsp_template.c
flacdsp.c
flacdsp.h
flacenc.c
flashsv2enc.c
flashsv.c
flashsvenc.c
flicvideo.c
flv.h
flvdec.c avcodec: Add FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM to most h263 based codecs 2017-01-21 02:30:38 +01:00
flvenc.c
fmtconvert.c
fmtconvert.h
frame_thread_encoder.c
frame_thread_encoder.h
fraps.c avcodec/fraps: add support for PAL8 2017-01-21 18:08:08 +01:00
frwu.c
g2meet.c
g722.c
g722.h
g722dec.c
g722dsp.c
g722dsp.h
g722enc.c
g723_1.c
g723_1.h
g723_1dec.c
g723_1enc.c
g726.c
g729_parser.c
g729.h
g729data.h
g729dec.c
g729postfilter.c
g729postfilter.h
get_bits.h avcodec: add Newtek SpeedHQ decoder 2017-01-11 16:02:10 +01:00
gif.c
gif.h
gifdec.c
golomb.c
golomb.h
gsm_parser.c
gsm.h
gsmdec_data.c
gsmdec_data.h
gsmdec_template.c
gsmdec.c
h261_parser.c
h261.c
h261.h
h261data.c
h261dec.c
h261enc.c
h263_parser.c
h263_parser.h
h263.c
h263.h
h263data.c
h263data.h
h263dec.c avcodec: Add FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM to most h263 based codecs 2017-01-21 02:30:38 +01:00
h263dsp.c
h263dsp.h
h264_cabac.c
h264_cavlc.c
h264_direct.c
h264_loopfilter.c
h264_mb_template.c
h264_mb.c
h264_mc_template.c
h264_mp4toannexb_bsf.c
h264_mvpred.h
h264_parse.c
h264_parse.h
h264_parser.c
h264_picture.c
h264_ps.c
h264_ps.h
h264_refs.c
h264_sei.c
h264_sei.h
h264_slice.c Merge commit '38efff92f1ef81f3de20ff0460ec7b70c253d714' 2017-01-24 16:13:03 +01:00
h264.h
h264addpx_template.c
h264chroma_template.c
h264chroma.c
h264chroma.h
h264data.c
h264data.h
h264dec.c Merge commit '38efff92f1ef81f3de20ff0460ec7b70c253d714' 2017-01-24 16:13:03 +01:00
h264dec.h Merge commit '38efff92f1ef81f3de20ff0460ec7b70c253d714' 2017-01-24 16:13:03 +01:00
h264dsp_template.c
h264dsp.c
h264dsp.h
h264idct_template.c
h264idct.c
h264idct.h
h264pred_template.c
h264pred.c
h264pred.h
h264qpel_template.c
h264qpel.c
h264qpel.h
h2645_parse.c
h2645_parse.h
hap.c
hap.h
hapdec.c
hapenc.c
hevc_cabac.c
hevc_data.c
hevc_filter.c
hevc_mp4toannexb_bsf.c
hevc_mvs.c
hevc_parse.c
hevc_parse.h
hevc_parser.c
hevc_ps_enc.c
hevc_ps.c
hevc_refs.c
hevc_sei.c
hevc.c hevc: Mark as having threadsafe init 2017-01-11 12:21:43 -05:00
hevc.h
hevcdsp_template.c
hevcdsp.c
hevcdsp.h
hevcpred_template.c
hevcpred.c
hevcpred.h
hnm4video.c
hpel_template.c
hpeldsp.c
hpeldsp.h
hq_hqa.c
hq_hqa.h
hq_hqadata.c
hq_hqadsp.c
hq_hqadsp.h
hqx.c
hqx.h
hqxdsp.c
hqxdsp.h
hqxvlc.c
htmlsubtitles.c
htmlsubtitles.h
huffman.c
huffman.h
huffyuv.c huffyuvencdsp: move functions only used by huffyuv from lossless_videodsp 2017-01-12 22:53:04 -03:00
huffyuv.h huffyuvencdsp: move shared functions to a new lossless_videoencdsp context 2017-01-12 22:53:04 -03:00
huffyuvdec.c lossless_videodsp: rename add_hfyu_left_pred_int16 to add_left_pred_int16 2017-01-12 22:53:05 -03:00
huffyuvdsp.c huffyuvdsp: move functions only used by huffyuv from lossless_videodsp 2017-01-12 22:53:05 -03:00
huffyuvdsp.h huffyuvdsp: move functions only used by huffyuv from lossless_videodsp 2017-01-12 22:53:05 -03:00
huffyuvenc.c huffyuvencdsp: move shared functions to a new lossless_videoencdsp context 2017-01-12 22:53:04 -03:00
huffyuvencdsp.c huffyuvencdsp: move shared functions to a new lossless_videoencdsp context 2017-01-12 22:53:04 -03:00
huffyuvencdsp.h huffyuvencdsp: move shared functions to a new lossless_videoencdsp context 2017-01-12 22:53:04 -03:00
idcinvideo.c
idctdsp.c
idctdsp.h
iff.c avcodec/iff: add support for vertical word compression in ILBM 2017-01-06 21:45:52 +01:00
iirfilter.c
iirfilter.h
imc.c
imcdata.h
imdct15.c imdct15: replace the FFT with a faster PFA FFT algorithm 2017-01-05 22:32:02 +00:00
imdct15.h imdct15: replace the FFT with a faster PFA FFT algorithm 2017-01-05 22:32:02 +00:00
imgconvert.c
imx_dump_header_bsf.c
indeo2.c
indeo2data.h
indeo3.c
indeo3data.h
indeo4.c
indeo4data.h
indeo5.c
indeo5data.h
intelh263dec.c avcodec: Add FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM to most h263 based codecs 2017-01-21 02:30:38 +01:00
internal.h
interplayacm.c
interplayvideo.c
intrax8.c
intrax8.h
intrax8dsp.c
intrax8dsp.h
intrax8huf.h
ituh263dec.c
ituh263enc.c
ivi_dsp.c
ivi_dsp.h
ivi.c
ivi.h
j2kenc.c
jacosub.h
jacosubdec.c
jfdctfst.c
jfdctint_template.c
jfdctint.c
jni.c
jni.h
jpeg2000.c
jpeg2000.h
jpeg2000dec.c
jpeg2000dsp.c
jpeg2000dsp.h
jpeg2000dwt.c
jpeg2000dwt.h
jpegls.c
jpegls.h
jpeglsdec.c
jpeglsdec.h
jpeglsenc.c
jpegtables.c
jpegtables.h
jrevdct.c
jvdec.c
kbdwin.c
kbdwin.h
kgv1dec.c
kmvc.c
lagarith.c huffyuvdsp: move functions only used by huffyuv from lossless_videodsp 2017-01-12 22:53:05 -03:00
lagarithrac.c
lagarithrac.h
latm_parser.c
lcl.h
lcldec.c
lclenc.c
libavcodec.v
libcelt_dec.c
libfdk-aacdec.c
libfdk-aacenc.c
libgsmdec.c
libgsmenc.c
libilbc.c
libkvazaar.c
libmp3lame.c lavc/libmp3lame: add support for cutoff 2016-12-31 17:20:06 +01:00
libopencore-amr.c
libopenh264.c
libopenh264.h
libopenh264dec.c
libopenh264enc.c
libopenjpegdec.c avcodec/libopenjpegdec: Set key frame metadata 2016-12-28 16:04:59 +01:00
libopenjpegenc.c
libopus.c
libopus.h
libopusdec.c
libopusenc.c
libschroedinger.c
libschroedinger.h
libschroedingerdec.c
libschroedingerenc.c
libshine.c
libspeexdec.c
libspeexenc.c
libtheoraenc.c
libtwolame.c
libvo-amrwbenc.c
libvorbisdec.c
libvorbisenc.c
libvpx.c
libvpx.h
libvpxdec.c
libvpxenc.c
libwavpackenc.c
libwebpenc_animencoder.c
libwebpenc_common.c
libwebpenc_common.h
libwebpenc.c
libx264.c
libx265.c
libxavs.c
libxvid_rc.c
libxvid.c
libxvid.h
libzvbi-teletextdec.c
ljpegenc.c
loco.c
log2_tab.c
lossless_audiodsp.c
lossless_audiodsp.h
lossless_videodsp.c avcodec/lossless_videodsp: add missing call to ff_llviddsp_init_ppc() 2017-01-12 22:56:50 -03:00
lossless_videodsp.h lossless_videodsp: rename add_hfyu_left_pred_int16 to add_left_pred_int16 2017-01-12 22:53:05 -03:00
lossless_videoencdsp.c huffyuvencdsp: move shared functions to a new lossless_videoencdsp context 2017-01-12 22:53:04 -03:00
lossless_videoencdsp.h huffyuvencdsp: move shared functions to a new lossless_videoencdsp context 2017-01-12 22:53:04 -03:00
lpc.c
lpc.h
lsp.c
lsp.h
lzf.c
lzf.h
lzw.c
lzw.h
lzwenc.c
m101.c
mace.c
magicyuv.c lossless_videodsp: rename add_hfyu_left_pred_int16 to add_left_pred_int16 2017-01-12 22:53:05 -03:00
Makefile avcodec: add XMA2 parser 2017-01-20 13:58:41 +01:00
mathops.h avutil/reverse: move the ff_reverse declaration to a separate header 2017-01-12 19:59:37 -03:00
mathtables.c
mdct_fixed_32.c
mdct_fixed.c
mdct_float.c
mdct_template.c
mdec.c
me_cmp.c
me_cmp.h
mediacodec_surface.c
mediacodec_surface.h
mediacodec_sw_buffer.c
mediacodec_sw_buffer.h
mediacodec_wrapper.c
mediacodec_wrapper.h
mediacodec.c
mediacodec.h
mediacodecdec_common.c
mediacodecdec_common.h
mediacodecdec.c
metasound_data.c
metasound_data.h
metasound.c
microdvddec.c
mimic.c
mjpeg2jpeg_bsf.c
mjpeg_parser.c
mjpeg.h
mjpega_dump_header_bsf.c
mjpegbdec.c
mjpegdec.c avcodec/mjpegdec: Check remaining bitstream in ljpeg_decode_yuv_scan() 2017-01-24 17:50:03 +01:00
mjpegdec.h
mjpegenc_common.c
mjpegenc_common.h
mjpegenc.c
mjpegenc.h
mlp_parser.c
mlp_parser.h
mlp.c
mlp.h
mlpdec.c
mlpdsp.c
mlpdsp.h
mlpenc.c
mlz.c
mlz.h
mmaldec.c
mmvideo.c
motion_est_template.c
motion_est.c
motion_est.h
motionpixels_tablegen.c
motionpixels_tablegen.h
motionpixels.c
movsub_bsf.c
movtextdec.c
movtextenc.c
mp3_header_decompress_bsf.c
mpc7.c
mpc7data.h
mpc8.c
mpc8data.h
mpc8huff.h
mpc.c
mpc.h
mpcdata.h
mpeg4_unpack_bframes_bsf.c
mpeg4audio.c
mpeg4audio.h
mpeg4data.h
mpeg4video_parser.c
mpeg4video_parser.h
mpeg4video.c
mpeg4video.h
mpeg4videodec.c avcodec: Add FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM to most h263 based codecs 2017-01-21 02:30:38 +01:00
mpeg4videoenc.c
mpeg12.c avcodec: add Newtek SpeedHQ decoder 2017-01-11 16:02:10 +01:00
mpeg12.h avcodec: add Newtek SpeedHQ decoder 2017-01-11 16:02:10 +01:00
mpeg12data.c
mpeg12data.h
mpeg12dec.c
mpeg12enc.c
mpeg12framerate.c
mpeg12vlc.h
mpeg_er.c avcodec/error_resilience: Optimize motion recovery code by using blcok lists 2017-01-22 21:39:43 +01:00
mpeg_er.h
mpegaudio_parser.c
mpegaudio_tablegen.c
mpegaudio_tablegen.h
mpegaudio.c
mpegaudio.h
mpegaudiodata.c
mpegaudiodata.h
mpegaudiodec_fixed.c
mpegaudiodec_float.c
mpegaudiodec_template.c
mpegaudiodecheader.c
mpegaudiodecheader.h
mpegaudiodectab.h
mpegaudiodsp_data.c
mpegaudiodsp_fixed.c
mpegaudiodsp_float.c
mpegaudiodsp_template.c
mpegaudiodsp.c
mpegaudiodsp.h
mpegaudioenc_fixed.c
mpegaudioenc_float.c
mpegaudioenc_template.c
mpegaudiotab.h
mpegpicture.c
mpegpicture.h
mpegutils.c
mpegutils.h
mpegvideo_enc.c
mpegvideo_motion.c
mpegvideo_parser.c
mpegvideo_xvmc.c
mpegvideo.c
mpegvideo.h
mpegvideodata.c
mpegvideodata.h
mpegvideodsp.c
mpegvideodsp.h
mpegvideoencdsp.c
mpegvideoencdsp.h
mpl2dec.c
mqc.c
mqc.h
mqcdec.c
mqcenc.c
msgsmdec.c
msgsmdec.h
msmpeg4.c
msmpeg4.h
msmpeg4data.c
msmpeg4data.h
msmpeg4dec.c avcodec: Add FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM to most h263 based codecs 2017-01-21 02:30:38 +01:00
msmpeg4enc.c
msrle.c
msrledec.c
msrledec.h
mss1.c
mss2.c
mss2dsp.c
mss2dsp.h
mss3.c
mss4.c
mss12.c
mss12.h
mss34dsp.c
mss34dsp.h
msvideo1.c
msvideo1enc.c
mvcdec.c
mxpegdec.c
nellymoser.c
nellymoser.h
nellymoserdec.c
nellymoserenc.c
noise_bsf.c
nuv.c
nvenc_h264.c avcodec/nvenc: Add bluray_compat basic implementation 2017-01-01 14:47:25 +01:00
nvenc_hevc.c avcodec/nvenc: Add bluray_compat basic implementation 2017-01-01 14:47:25 +01:00
nvenc.c avcodec/nvenc: add logging for more error cases 2017-01-20 10:29:36 +01:00
nvenc.h avcodec/nvenc: Add bluray_compat basic implementation 2017-01-01 14:47:25 +01:00
omx.c avcodec/omx: Do not pass negative value into av_malloc() 2017-01-08 15:25:14 +01:00
on2avc.c
on2avcdata.c
on2avcdata.h
options_table.h
options.c
opus_celt.c
opus_parser.c
opus_rc.c
opus_rc.h
opus_silk.c
opus.c
opus.h
opusdec.c
opustab.c
opustab.h
paf.h
pafaudio.c
pafvideo.c
pamenc.c
parser.c
parser.h
pcm_tablegen.c
pcm_tablegen.h
pcm-bluray.c
pcm-dvd.c
pcm.c
pcx.c
pcxenc.c
pel_template.c
pgssubdec.c
pictordec.c
pixblockdsp.c
pixblockdsp.h
pixels.h
pixlet.c avcodec/pixlet: use av_clip_uintp2_c explicitly 2017-01-19 13:32:21 +01:00
png_parser.c
png.c
png.h
pngdec.c avcodec/pngdec: Fix off by 1 size in decode_zbuf() 2017-01-23 01:43:35 +01:00
pngdsp.c
pngdsp.h
pngenc.c huffyuvencdsp: move shared functions to a new lossless_videoencdsp context 2017-01-12 22:53:04 -03:00
pnm_parser.c
pnm.c
pnm.h
pnmdec.c
pnmenc.c
profiles.c
profiles.h
proresdata.c
proresdata.h
proresdec2.c
proresdec_lgpl.c
proresdec.h
proresdsp.c
proresdsp.h
proresenc_anatoliy.c
proresenc_kostya.c
psd.c libavcodec/psd : add test for channel depth/channel count in bitmap mode 2017-01-14 04:52:43 +01:00
psymodel.c
psymodel.h
pthread_frame.c lavc/pthread_frame: protect read state access in setup finish function 2017-01-16 10:43:41 +01:00
pthread_internal.h
pthread_slice.c
pthread.c
ptx.c
put_bits.h
qcelpdata.h
qcelpdec.c
qdm2_tablegen.c
qdm2_tablegen.h
qdm2.c avcodec/qdm2: make use of bytestream2 2017-01-09 18:43:19 +01:00
qdm2data.h
qdmc.c avcodec: add QDMC decoder 2017-01-06 22:05:45 +01:00
qdrw.c avcodec/qdrw: skip long comment for now 2017-01-13 21:19:17 +01:00
qpeg.c
qpel_template.c
qpeldsp.c
qpeldsp.h
qsv_api.c
qsv_internal.h
qsv.c
qsv.h
qsvdec_h2645.c
qsvdec_mpeg2.c
qsvdec_vc1.c
qsvdec.c
qsvdec.h
qsvenc_h264.c
qsvenc_hevc.c
qsvenc_mpeg2.c
qsvenc.c
qsvenc.h
qtrle.c
qtrleenc.c
r210dec.c
r210enc.c
ra144.c
ra144.h
ra144dec.c
ra144enc.c
ra288.c
ra288.h
ralf.c
ralfdata.h
rangecoder.c
rangecoder.h
ratecontrol.c
ratecontrol.h
raw.c
raw.h
rawdec.c
rawenc.c
rdft.c
rdft.h
realtextdec.c
rectangle.h
remove_extradata_bsf.c
resample2.c
resample.c
reverse.c
rl2.c
rl.c
rl.h
rle.c
rle.h
rnd_avg.h
roqaudioenc.c
roqvideo.c
roqvideo.h
roqvideodec.c
roqvideoenc.c
rpza.c
rscc.c
rtjpeg.c
rtjpeg.h
rv10.c
rv10.h
rv10enc.c
rv20enc.c
rv30.c
rv30data.h
rv30dsp.c
rv34_parser.c
rv34.c
rv34.h
rv34data.h
rv34dsp.c
rv34dsp.h
rv34vlc.h
rv40.c
rv40data.h
rv40dsp.c
rv40vlc2.h
s302m.c
s302menc.c
samidec.c
sanm.c
sbr.h
sbrdsp_fixed.c
sbrdsp_template.c
sbrdsp.c
sbrdsp.h
screenpresso.c
sgi.h
sgidec.c
sgienc.c
sgirledec.c
sheervideo.c
shorten.c
simple_idct_template.c
simple_idct.c
simple_idct.h
sinewin_fixed_tablegen.c
sinewin_fixed.c
sinewin_tablegen_template.c
sinewin_tablegen.c
sinewin_tablegen.h
sinewin.c
sinewin.h
sipr16k.c
sipr16kdata.h
sipr_parser.c avcodec: add SIPR parser 2017-01-16 10:24:01 +01:00
sipr.c
sipr.h
siprdata.h
smacker.c
smc.c
smvjpegdec.c
snappy.c
snappy.h
snow_dwt.c
snow_dwt.h
snow.c
snow.h
snowdata.h
snowdec.c
snowenc.c
sonic.c
sp5x.h
sp5xdec.c
speedhq.c avcodec/speedhq: Fix warning about "initialization from incompatible pointer type" 2017-01-19 19:49:55 +01:00
srtdec.c
srtenc.c
startcode.c
startcode.h
subviewerdec.c
sunrast.c
sunrast.h
sunrastenc.c
svq1_cb.h
svq1_vlc.h
svq1.c
svq1.h
svq1dec.c
svq1enc_cb.h
svq1enc.c
svq1enc.h
svq3.c
svq13.c
synth_filter.c
synth_filter.h
tableprint_vlc.h
tableprint.h
tak_parser.c
tak.c
tak.h
takdec.c
takdsp.c
takdsp.h
targa_y216dec.c
targa.c
targa.h
targaenc.c
tdsc.c
textdec.c
texturedsp.c
texturedsp.h
texturedspenc.c
thread.h
tiertexseqv.c
tiff_common.c
tiff_common.h
tiff_data.c
tiff_data.h
tiff.c avcodec/tiff: Perform multiply in tiff_unpack_lzma() as 64bit 2017-01-10 00:55:15 +01:00
tiff.h
tiffenc.c
tmv.c
tpeldsp.c
tpeldsp.h
truemotion1.c
truemotion1data.h
truemotion2.c
truemotion2rt.c
truespeech_data.h
truespeech.c
tscc2.c
tscc2data.h
tscc.c
tta.c
ttadata.c
ttadata.h
ttadsp.c
ttadsp.h
ttaenc.c
ttaencdsp.c
ttaencdsp.h
twinvq_data.h
twinvq.c
twinvq.h
twinvqdec.c
txd.c
ulti_cb.h
ulti.c
unary.h
utils.c
utvideo.c
utvideo.h huffyuvencdsp: move shared functions to a new lossless_videoencdsp context 2017-01-12 22:53:04 -03:00
utvideodec.c huffyuvdsp: move functions only used by huffyuv from lossless_videodsp 2017-01-12 22:53:05 -03:00
utvideoenc.c huffyuvencdsp: move shared functions to a new lossless_videoencdsp context 2017-01-12 22:53:04 -03:00
v210dec.c
v210dec.h
v210enc.c
v210enc.h
v210x.c
v308dec.c
v308enc.c
v408dec.c
v408enc.c
v410dec.c
v410enc.c
vaapi_decode.c lavc: Remove old vaapi decode infrastructure 2017-01-17 23:06:46 +00:00
vaapi_decode.h lavc: Remove old vaapi decode infrastructure 2017-01-17 23:06:46 +00:00
vaapi_encode_h26x.c
vaapi_encode_h26x.h
vaapi_encode_h264.c lavc/vaapi_encode_h264: disable B frames in baseline profile 2017-01-09 00:28:08 +00:00
vaapi_encode_h265.c
vaapi_encode_mjpeg.c
vaapi_encode.c
vaapi_encode.h
vaapi_h264.c vaapi_h264: Convert to use the new VAAPI hwaccel code 2017-01-17 23:06:45 +00:00
vaapi_hevc.c vaapi_hevc: Convert to use the new VAAPI hwaccel code 2017-01-17 23:06:46 +00:00
vaapi_mpeg2.c vaapi_mpeg2: Convert to use the new VAAPI hwaccel code 2017-01-17 23:06:45 +00:00
vaapi_mpeg4.c vaapi_mpeg4: Restore changes overwritten by merge 2017-01-22 00:07:47 +00:00
vaapi_vc1.c vaapi_vc1: Convert to use the new VAAPI hwaccel code 2017-01-17 23:06:46 +00:00
vaapi_vp9.c vaapi_vp9: Convert to use the new VAAPI hwaccel code 2017-01-17 23:06:46 +00:00
vaapi.h lavc: Remove old vaapi decode infrastructure 2017-01-17 23:06:46 +00:00
vb.c
vble.c huffyuvdsp: move functions only used by huffyuv from lossless_videodsp 2017-01-12 22:53:05 -03:00
vc1_block.c
vc1_common.h
vc1_loopfilter.c
vc1_mc.c
vc1_parser.c
vc1_pred.c
vc1_pred.h
vc1.c
vc1.h
vc1acdata.h
vc1data.c
vc1data.h
vc1dec.c
vc1dsp.c
vc1dsp.h
vc2enc_dwt.c
vc2enc_dwt.h
vc2enc.c
vcr1.c
vda_h264_dec.c
vda_h264.c
vda_vt_internal.h
vda.c
vda.h
vdpau_compat.h
vdpau_h264.c
vdpau_hevc.c
vdpau_internal.h
vdpau_mpeg4.c
vdpau_mpeg12.c
vdpau_vc1.c
vdpau.c
vdpau.h
version.h avcodec: add XMA2 parser 2017-01-20 13:58:41 +01:00
videodsp_template.c
videodsp.c
videodsp.h
videotoolbox.c
videotoolbox.h
videotoolboxenc.c
vima.c
vlc.h avcodec: add Newtek SpeedHQ decoder 2017-01-11 16:02:10 +01:00
vmdaudio.c
vmdvideo.c
vmnc.c
vorbis_data.c
vorbis_enc_data.h
vorbis_parser_internal.h
vorbis_parser.c
vorbis_parser.h
vorbis.c
vorbis.h
vorbisdec.c
vorbisdsp.c
vorbisdsp.h
vorbisenc.c
vp3_parser.c
vp3.c
vp3data.h
vp3dsp.c
vp3dsp.h
vp5.c
vp5data.h
vp6.c
vp6data.h
vp6dsp.c
vp8_parser.c
vp8.c
vp8.h
vp8data.h
vp8dsp.c
vp8dsp.h
vp9_mc_template.c
vp9_parser.c
vp9_superframe_bsf.c
vp9.c
vp9.h
vp9data.h
vp9dsp_8bpp.c
vp9dsp_10bpp.c
vp9dsp_12bpp.c
vp9dsp_template.c
vp9dsp.c
vp9dsp.h
vp56.c
vp56.h
vp56data.c
vp56data.h
vp56dsp.c
vp56dsp.h
vp56rac.c
vqavideo.c
wavpack.c
wavpack.h
wavpackenc.c
wavpackenc.h
webp.c
webvttdec.c
webvttenc.c
wma_common.c
wma_common.h
wma_freqs.c
wma_freqs.h
wma.c
wma.h
wmadata.h
wmadec.c
wmaenc.c
wmalosslessdec.c
wmaprodata.h
wmaprodec.c avcodec/wmaprodec: add xma_flush for seeking in XMA2 2017-01-20 13:58:41 +01:00
wmavoice_data.h
wmavoice.c wmavoice: validate block alignment 2017-01-03 00:52:55 +01:00
wmv2.c
wmv2.h
wmv2data.c
wmv2data.h
wmv2dec.c
wmv2dsp.c
wmv2dsp.h
wmv2enc.c
wnv1.c
wrapped_avframe.c
ws-snd1.c
xan.c
xbmdec.c
xbmenc.c
xface.c
xface.h
xfacedec.c
xfaceenc.c
xiph.c
xiph.h
xl.c
xma_parser.c avcodec: add XMA2 parser 2017-01-20 13:58:41 +01:00
xsubdec.c
xsubenc.c
xvididct.c
xvididct.h
xvmc_internal.h
xvmc.h
xwd.h
xwddec.c
xwdenc.c
xxan.c
y41pdec.c
y41penc.c
ylc.c avcodec/ylc: thread safe initialization is possible with this codec 2016-12-26 20:28:40 +01:00
yop.c
yuv4dec.c
yuv4enc.c
zerocodec.c
zmbv.c
zmbvenc.c