28855 Commits

Author SHA1 Message Date
Diego Biurrun
0d439fbede dsputil: Split off HuffYUV decoding bits into their own context
Also shorten HuffYUV context member names to avoid clutter.
2014-05-27 08:52:34 -07:00
James Almer
5863207086 x86/dsputilenc: use HADDD in ff_sse16_sse2
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 15:12:50 +02:00
Diego Biurrun
888dcd8675 h264_picture: Remove pointless dsputil.h #include 2014-05-27 03:12:17 -07:00
Diego Biurrun
f1df0a4c08 on2avc: Remove pointless dsputil.h #include 2014-05-27 03:12:17 -07:00
James Almer
e64e079ece x86/dsputilenc: implement SSE2 version of diff_pixels
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 05:55:11 +02:00
Michael Niedermayer
a0c5cd3475 avcodec/x86/dsputilenc: set the count of SSE registers correctly for get_pixels
Found-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-27 05:52:25 +02:00
Michael Niedermayer
d35000c2dc avcodec/g723_1: fix writing into input frame data and warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-26 21:05:03 +02:00
Christophe Gisquet
86ae0da60c x86: hpeldsp: propagate changes across codecs
Some codecs still use mmx versions, so have them use the versions
with newer instruction sets.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-26 15:37:04 +02:00
Michael Niedermayer
b0d0e29ffb avcodec/sgirledec: fix () in RBG323_TO_BGR8() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 23:08:51 +02:00
Michael Niedermayer
9f50d3b944 avcodec/rv34: Fix () in GET_PTS_DIFF() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 21:42:19 +02:00
Michael Niedermayer
a45e6b7bc5 avcodec/psymodel: Fix () in AAC_CUTOFF() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 21:41:57 +02:00
Michael Niedermayer
e5dc7439e3 avcodec/proresenc_anatoliy: Fix () in macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 21:41:35 +02:00
Michael Niedermayer
a3950a90f6 Revert "x86: dsputilenc: convert ff_sse{8, 16}_mmx() to yasm"
This reverts commit ad733089b024e4a3ff8f024d247a032f79a50ac8.

breaks with --disable-yasm
revert requested by: Christophe Gisquet <christophe.gisquet@gmail.com>
2014-05-25 19:42:18 +02:00
Michael Niedermayer
9babf13764 avcodec/msvideo1enc: Fix () in MKRGB555() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 19:26:37 +02:00
Michael Niedermayer
eb718f4c53 avcodec/opus: Fix () in ROUND_MULL() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 19:25:58 +02:00
Michael Niedermayer
d62a4707f9 avcodec/opus_celt: Fix () in CELT_PVQ_V macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 19:25:29 +02:00
Michael Niedermayer
c163f5e601 avcodec/pngdec: fix () in OP_* macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 19:25:10 +02:00
Timothy Gu
ad733089b0 x86: dsputilenc: convert ff_sse{8, 16}_mmx() to yasm
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 16:30:08 +02:00
Clément Bœsch
657c603263 avcodec/webvttenc: do not use EOVERFLOW.
According to doc/errno.txt EOVERFLOW is not available everywhere. The
use of -1 is consistent with avcodec/srtenc.c.
2014-05-25 10:28:16 +02:00
Michael Niedermayer
cf7ff0146c avcodec/mss4: Fix () in MKVAL() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 05:19:09 +02:00
Michael Niedermayer
6e720c5c81 avcodec/mss34dsp: fix () in SOP* macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 05:18:47 +02:00
Michael Niedermayer
fa160af08b avcodec/mlpdec: fix () in MSB_MASK() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 05:18:18 +02:00
Michael Niedermayer
f276bf303c avcodec/ivi_dsp: add some missing () to macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 03:45:10 +02:00
Michael Niedermayer
70f671c39e avcodec/hevc: fix () in macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 03:45:10 +02:00
Michael Niedermayer
0f45e643cc avcodec/h264_slice: fix macro ()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 03:45:10 +02:00
Michael Niedermayer
af62b42736 avcodec/h264: fix () in macros
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 03:45:10 +02:00
Michael Niedermayer
97e6b5ee3a avcodec/golomb-test: fix () in EXTEND() macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 03:45:10 +02:00
Michael Niedermayer
fa915d4193 avcodec/aac: fix () in IS_CODEBOOK_UNSIGNED macro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 03:45:10 +02:00
Aman Gupta
4372fb7a57 avcodec/webvttenc: add webvtt encoder
Based off the srt encoder. The following features are unimplemented:

- fonts, colors, sizes
- alignment and positioning

The rest works well. For example, use ffmpeg to convert subtitles into the .vtt format:

  ffmpeg -i input.srt output.vtt

Signed-off-by: Aman Gupta <ffmpeg@tmm1.net>
Signed-off-by: Clément Bœsch <u@pkh.me>
2014-05-25 03:04:14 +02:00
James Almer
d94e255dd1 x86/dsputilenc: make the SUM_ABS_DCTELEM macro more readable
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 02:03:54 +02:00
Michael Niedermayer
46e3883519 avcodec/opusdec: check alignment, misalignment could lead to crashes with avx
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-25 00:38:20 +02:00
James Almer
61eea421b2 x86/dsputilenc: port sum_abs_dctelem functions to yasm
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 21:46:25 +02:00
Michael Niedermayer
ddeb58b90c avcodec/asvenc: dont use a negative global_quality
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 20:33:49 +02:00
Michael Niedermayer
9a7d332b92 avcodec/aacenc: dont use global quality if its negative
Some applications used a negative value as default for "not set"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 20:32:37 +02:00
Christophe Gisquet
81aa0f4604 x86: hpeldsp: implement SSSE3 version of _xy2
Loading pb_1 rather than pw_8192 was benchmarked to be more efficient.
Loading of the 2 yields no advantage. Loading of one saves ~11 cycles.

decicycles count:
put8:  3223(mmx)    -> 2387
avg8:  2863(mmxext) -> 2125
put16: 4356(sse2)   -> 3553
avg16: 4481(sse2)   -> 3513

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 15:15:56 +02:00
Christophe Gisquet
9722a6a3f3 x86: hpeldsp: implement SSE2 put_pixels16_xy2
This is obviously equivalent to the avg version, without the avg.

3223(mmx) -> 2006(sse2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 03:45:17 +02:00
Christophe Gisquet
f0aca50e0b x86: hpeldsp: implement SSE2 versions
Those are mostly used in codecs older than H.264, eg MPEG-2.

put16 versions:
      mmx  mmx2  sse2
x2:  1888  1185   552
y2:  1778  1092   510

avg16 xy2: 3509(mmx2) -> 2169(sse2)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 03:29:48 +02:00
James Almer
7538ad2248 x86/hevc_deblock: improve chroma functions register allocation
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-24 01:16:26 +02:00
James Almer
584327f22f x86/dsputil: fix argument declaration in vector_clipf
Should fix fate failures in msvc x86_64

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 23:10:17 +02:00
James Almer
518cbf9b4a x86/dsputil: fix VECTOR_CLIP_INT32 macro
The inline loop was incrementing and using the value of %%i
the wrong way.

Disassembly of ff_vector_clip_int32_sse2 before and after
this patch:

    movdqa (%rdx),%xmm0      |  movdqa (%rdx),%xmm0
    movdqa 0x10(%rdx),%xmm1  |  movdqa 0x10(%rdx),%xmm1
    movdqa 0x20(%rdx),%xmm2  |  movdqa 0x20(%rdx),%xmm2
    movdqa 0x30(%rdx),%xmm3  |  movdqa 0x30(%rdx),%xmm3
[...]                        |
    movdqa %xmm0,(%rcx)      |  movdqa %xmm0,(%rcx)
    movdqa %xmm1,0x10(%rcx)  |  movdqa %xmm1,0x10(%rcx)
    movdqa %xmm2,0x20(%rcx)  |  movdqa %xmm2,0x20(%rcx)
    movdqa %xmm3,0x30(%rcx)  |  movdqa %xmm3,0x30(%rcx)
    movdqa (%rdx),%xmm0      |  movdqa 0x40(%rdx),%xmm0
    movdqa 0x20(%rdx),%xmm1  |  movdqa 0x50(%rdx),%xmm1
    movdqa 0x40(%rdx),%xmm2  |  movdqa 0x60(%rdx),%xmm2
    movdqa 0x60(%rdx),%xmm3  |  movdqa 0x70(%rdx),%xmm3
[...]                        |
    movdqa %xmm0,(%rcx)      |  movdqa %xmm0,0x40(%rcx)
    movdqa %xmm1,0x20(%rcx)  |  movdqa %xmm1,0x50(%rcx)
    movdqa %xmm2,0x40(%rcx)  |  movdqa %xmm2,0x60(%rcx)
    movdqa %xmm3,0x60(%rcx)  |  movdqa %xmm3,0x70(%rcx)
    add    $0x80,%rdx        |  add    $0x80,%rdx
    add    $0x80,%rcx        |  add    $0x80,%rcx

Other versions were unaffected.

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 22:59:55 +02:00
Michael Niedermayer
6b88f22e89 avcodec/dcadec: dont use hex float, msvc doesnt support it
Found-by: nevcairiel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 22:39:14 +02:00
Michael Niedermayer
9ccb5455ca avcodec/dcadec: use a constant instead of assuming every compiler can optimize pow(2,-15)
Idea-by: nevcairiel and wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 22:19:11 +02:00
Michael Niedermayer
6da06ef6bb avcodec/dcadec: make dca_dmix_code() 650% faster
This effectively replaces the ldexpf() function call by a multiplication
with a constant.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 22:08:41 +02:00
Michael Niedermayer
d062db7880 Merge commit '21f68c2489cba2a1a4a41d0c5c828266e6162800'
* commit '21f68c2489cba2a1a4a41d0c5c828266e6162800':
  avcodec: bump version after rotation api

Conflicts:
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 20:48:54 +02:00
Michael Niedermayer
4e4dbb9983 dcadec: fix xxch_dmix_coeff and xxch_dmix_sf after merge
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 20:39:21 +02:00
Michael Niedermayer
c867be03f6 Merge commit '6b7b8585d73548f08b98959df39d80b97677662f'
* commit '6b7b8585d73548f08b98959df39d80b97677662f':
  dca: Convert dca_dmixtable to integers

Conflicts:
	libavcodec/dcadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 19:01:12 +02:00
Vittorio Giovara
21f68c2489 avcodec: bump version after rotation api
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2014-05-23 17:50:38 +02:00
Niels Möller
6b7b8585d7 dca: Convert dca_dmixtable to integers
Also include zero in the table, eliminating a special case in the
decoder.

Signed-off-by: Niels Möller <nisse@southpole.se>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-23 15:07:05 +02:00
James Almer
6a4832caae x86/diracdsp: mark all functions as yasm
No inline asm dirac code remains in the tree, so replace every relevant check.
This also moves all the dirac functions from dsputil_mmx.c to diracdsp_mmx.c

Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 15:02:42 +02:00
James Almer
1d36defe94 x86/dsputil: port ff_vector_clipf_sse to yasm
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-23 00:08:21 +02:00