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

35540 Commits

Author SHA1 Message Date
Christophe Gisquet
9ca16bdd3f lossless audio dsp: unroll
The loops are guaranteed to be at least multiples of 8, so this
unrolling is safe but allows exploiting execution ports.

For int32 version: 68 -> 58c.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-11 21:03:07 +02:00
Michael Niedermayer
bf29794022 avcodec/dca_lbr: Fix "warning: missing braces around initializer"
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-11 21:03:07 +02:00
Derek Buitenhuis
ed8bacfb5c Merge commit '5e1a3ea3ba7bb0c71d931e93e60fb75f51b0cc1a'
* commit '5e1a3ea3ba7bb0c71d931e93e60fb75f51b0cc1a':
  lavc: move the vaapi encoders further down in the list of codecs

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-11 19:45:20 +01:00
Derek Buitenhuis
8ed427f9f9 Merge commit '92fdea37477b5a2d1329e5ef0773e24473fa8f12'
These are all trivial to merge.

* commit '92fdea37477b5a2d1329e5ef0773e24473fa8f12':
  vaapi_h265: Add -qp option, use it to replace use of -global_quality
  vaapi_h265: Add constant-bitrate encode support
  vaapi_h264: Add encode quality option (for quality-speed tradeoff)
  vaapi_h264: Add -qp option, use it to replace use of -global_quality
  vaapi_encode: Add support for codec-local options
  vaapi_h264: Add constant-bitrate encode support
  vaapi_encode: Refactor slightly to allow easier setting of global options

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-11 19:40:39 +01:00
Derek Buitenhuis
75a1fc0376 Merge commit '9d4d9be538faa537440fff37d3b7ecf322911a55'
* commit '9d4d9be538faa537440fff37d3b7ecf322911a55':
  libavcodec: Document that encoders may use the framerate field in AVCodecContext

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-11 19:26:22 +01:00
Derek Buitenhuis
ec1d8abfb9 Merge commit '1bb56abb9b37bd208a66164339c92cad59b1087b'
* commit '1bb56abb9b37bd208a66164339c92cad59b1087b':
  omx: Add support for zerocopy input of frames

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-11 19:24:26 +01:00
Derek Buitenhuis
e330ab0fb7 Merge commit 'f1cd9b03f3fa875eb5e394281b4b688cec611658'
* commit 'f1cd9b03f3fa875eb5e394281b4b688cec611658':
  omx: Add support for broadcom OMX on raspberry pi

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-11 19:23:15 +01:00
Derek Buitenhuis
0e38723220 Merge commit 'e8919ec486a5559fdcf366e347be0656d904a87f'
* commit 'e8919ec486a5559fdcf366e347be0656d904a87f':
  libavcodec: Add H264/MPEG4 encoders based on OpenMAX IL

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-11 19:19:28 +01:00
Derek Buitenhuis
f4c88eef95 Merge commit 'b8e899f4bf5f09900aa71552112d32a5566b6baf'
* commit 'b8e899f4bf5f09900aa71552112d32a5566b6baf':
  mmaldec: Use imgutils.h for copying frames

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-11 19:15:14 +01:00
Derek Buitenhuis
4f173d055c Merge commit '798845ce7e5b7fdd17c7269c5d267fb487d9c46f'
* commit '798845ce7e5b7fdd17c7269c5d267fb487d9c46f':
  testprogs: Add missing libm.h includes

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-11 19:14:36 +01:00
Derek Buitenhuis
96d616052b Merge commit 'd12b5b2f135aade4099f4b26b0fe678656158c13'
* commit 'd12b5b2f135aade4099f4b26b0fe678656158c13':
  build: Split test programs off into separate files

Some conversions done by: James Almer <jamrial@gmail.com>
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-11 19:13:03 +01:00
Hendrik Leppkes
27506aceda avcodec/dca_lbr: explicitly initialize structs with zero
This fixes build on MSVC and conforms to the usual init style used.
2016-05-11 16:34:57 +02:00
Derek Buitenhuis
ce3037ac8e Merge commit '330177b508420a553083df94f22cbd5142de0f4a'
* commit '330177b508420a553083df94f22cbd5142de0f4a':
  build: Group declarations for hw-accelerated de-/encoding separately

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-11 15:19:06 +01:00
Timo Rothenpieler
c921ca9b5d avcodec/nvenc: Write buffPeriod/picTime SEI in both CBR modes 2016-05-11 12:58:52 +02:00
Timo Rothenpieler
3a9df7dfec avcodec/nvenc: Generate bufferingPeriod/pictureTiming SEI
For some unknown reason enabling these causes propper CBR padding,
so as there are no known downsides just always enable them in CBR mode.
2016-05-11 10:34:31 +02:00
James Almer
c8c14d0ffc aarch64/synth_filter: fix compilation
Signed-off-by: James Almer <jamrial@gmail.com>
2016-05-10 23:33:12 -03:00
James Almer
b2244fa0a6 avcodec/rscc: check input buffer size for deflate mode
Fixes overreads.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-05-10 22:07:19 -03:00
foo86
6c44696b3d avcodec/dca: add DTS Express (LBR) decoder
Signed-off-by: James Almer <jamrial@gmail.com>
2016-05-10 20:33:28 -03:00
Derek Buitenhuis
ca5ec2bf51 Merge commit '01621202aad7e27b2a05c71d9ad7a19dfcbe17ec'
* commit '01621202aad7e27b2a05c71d9ad7a19dfcbe17ec':
  build: miscellaneous cosmetics

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-09 16:25:28 +01:00
Derek Buitenhuis
d62984d8a0 Merge commit '22e49e6edead9c83696f20127988f659b952ce65'
* commit '22e49e6edead9c83696f20127988f659b952ce65':
  dds: Simplify postprocessing check

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-08 23:50:09 +01:00
Derek Buitenhuis
6ebec1049e Merge commit '02538636261fdec9c70f4185b23147c636f269b4'
* commit '02538636261fdec9c70f4185b23147c636f269b4':
  dds: Add support for alpha-only files

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-08 23:49:26 +01:00
Derek Buitenhuis
6c00703685 Merge commit '9a9fb710bcf4657e030467cfe2556cb0e2c01afc'
* commit '9a9fb710bcf4657e030467cfe2556cb0e2c01afc':
  dds: Add support for rgb555 files

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-08 23:49:04 +01:00
Derek Buitenhuis
483e9d8a2b Merge commit 'ec8a69fab657f9cce624e8b0f4069d12696890bf'
* commit 'ec8a69fab657f9cce624e8b0f4069d12696890bf':
  screenpresso: Correctly handle keyframes

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-08 23:43:55 +01:00
Derek Buitenhuis
5d31074daf Merge commit '95db8c757cb003a71b040b567f38be74151deb5c'
* commit '95db8c757cb003a71b040b567f38be74151deb5c':
  screenpresso: Add extended pixel format support

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-08 23:43:35 +01:00
Derek Buitenhuis
dd2d26dc82 Merge commit '51dc4de1218a81ee8e5b3f941839c5e3125a6d4b'
* commit '51dc4de1218a81ee8e5b3f941839c5e3125a6d4b':
  rscc: Add extended pixel format support

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-08 23:33:08 +01:00
Derek Buitenhuis
13b77e09c7 Merge commit '33275a0de05e9bc321f2537a2a67921fab81624f'
* commit '33275a0de05e9bc321f2537a2a67921fab81624f':
  ac3dec: change logging of skipped E-AC-3 substreams.

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-08 23:07:01 +01:00
Derek Buitenhuis
15cb52577a Merge commit 'fef2147b7a689b80d716c3edb9d4a18904865275'
* commit 'fef2147b7a689b80d716c3edb9d4a18904865275':
  eac3dec: don't call avpriv_request_sample every frame.

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-08 23:05:22 +01:00
Derek Buitenhuis
f93c409c0b Merge commit '44f05f15d4a34ef2f0d62259e5d5b43371bc0954'
* commit '44f05f15d4a34ef2f0d62259e5d5b43371bc0954':
  build: Do not check the vaapi_encode.h header if VAAPI is not enabled

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-08 22:53:50 +01:00
Derek Buitenhuis
939345854a Merge commit '83f230c2445a94fdd94c66504482217fcece5909'
* commit '83f230c2445a94fdd94c66504482217fcece5909':
  lavc: VAAPI MJPEG encoder

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-08 22:46:52 +01:00
Derek Buitenhuis
a82d1a8c7a Merge commit '31fe1f2577f8208f79a4b3ab59465e78dd497555'
* commit '31fe1f2577f8208f79a4b3ab59465e78dd497555':
  lavc: VAAPI H.265 encoder

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-08 22:45:39 +01:00
Derek Buitenhuis
b975aeec02 Merge commit '2c62fcdf5d617791a653d7957d449f75569eede0'
* commit '2c62fcdf5d617791a653d7957d449f75569eede0':
  lavc: VAAPI H.264 encoder

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-08 22:43:52 +01:00
Derek Buitenhuis
508957fd0f Merge commit '104c804bcaac24b52eb51ed17df2fb311e6ae73e'
* commit '104c804bcaac24b52eb51ed17df2fb311e6ae73e':
  lavc: VAAPI encode common infrastructure

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-08 22:41:12 +01:00
Michael Niedermayer
5df703aa1b avcodec/simple_idct_template: Fix strict aliasing violation
Fixes intrax8 test

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-08 20:40:27 +02:00
Rostislav Pehlivanov
b6c207f535 vc2enc_dwt: use 32 bit coefficients by default
The problem is that with particularly complex images and especially at
high bit depths and 5-level transforms the coefficients would overflow,
causing huge artifacts to appear. This was discovered thanks to the fate
tests, which will have to be redone as this fixes a multitude of
problems and increases PSNR.

There is a slight performance drop associated with this change, making
the encoder slower by 1.15 times, however this is necessary in order to
avoid undefined behavior and overflows.

It would be worth to template the transforms to keep the performance for
8 bit images as 32 bit coefficients are unnecessary for that case, but
the primary use of the encoder is to encode video at 10 bits.

Reviewed-by: Christophe Gisquet <christophe.gisquet@gmail.com>
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-05-08 19:09:42 +01:00
Hendrik Leppkes
64fd62d68a avcodec/dxva2_h264: fix slice offset in long slice struct after ca2f19b9
The GetBitContext now includes the NAL header, which offsets the slice by
one byte, which needs to be accounted for here.
2016-05-08 17:48:19 +02:00
Mark Thompson
617cd45ddc vaapi_h264: Fix bit offset of slice data.
Commit ca2f19b9cc modified the meaning of
H264SliceContext.gb: it is now initialised at the start of the NAL unit
header, rather than at the start of the slice header.  The VAAPI slice
decoder uses the offset after parsing to determine the offset of the
slice data in the bitstream, so with the changed meaning we no longer
need to add the extra byte to account for the NAL unit header because
it is now included directly.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-08 16:46:04 +01:00
Christophe Gisquet
9630b3fc06 x86: lossless audio: SSE4 madd 32bits
The unique user so far is wmalossless 24bits. The few samples tested show an
order of 8, so more unrolling or an avx2 version do not make sense.

Timings: 68 -> 49 cycles

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-05-07 23:28:48 +02:00
Derek Buitenhuis
e811ebcd9c Merge commit 'ca8c7591735c0f80cc29e31e2e92cb10228e14c7'
* commit 'ca8c7591735c0f80cc29e31e2e92cb10228e14c7':
  intrax8: Remove mpegvideo dependency

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-07 21:41:27 +01:00
Derek Buitenhuis
f2c7812839 Merge commit '6ebd06a9b2508747a135ee4c880d8f612e08932b'
* commit '6ebd06a9b2508747a135ee4c880d8f612e08932b':
  intrax8: Drop lots of pointless parentheses

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-07 21:40:21 +01:00
Derek Buitenhuis
741960e2f3 Merge commit '9b57995cdd489a4cff51dcc1a1f08ac77ec5a58c'
* commit '9b57995cdd489a4cff51dcc1a1f08ac77ec5a58c':
  intrax8: Drop MB emulation code

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-07 21:40:05 +01:00
Derek Buitenhuis
f110c624b1 Merge commit '9fa888c02801fff2e8817c24068f5296bbe60000'
* commit '9fa888c02801fff2e8817c24068f5296bbe60000':
  intrax8: Keep a reference to the decoder blocks

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-07 21:39:44 +01:00
Derek Buitenhuis
c59c792470 Merge commit 'c2084ffcbfc11d1b6ed3a4a0df9cafd56fbb896f'
* commit 'c2084ffcbfc11d1b6ed3a4a0df9cafd56fbb896f':
  intrax8: Use the generic horizband function

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-07 21:37:32 +01:00
Derek Buitenhuis
123fef54cc Merge commit 'b1268e0f032a3af3912fe3fb8d3855e12d7ea83b'
* commit 'b1268e0f032a3af3912fe3fb8d3855e12d7ea83b':
  intrax8: Pass macroblock coordinates to ff_intrax8_decode_picture

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-07 21:36:54 +01:00
Derek Buitenhuis
578fb5a27d Merge commit 'd0540fd02171a6233d2016b199d013299debf7e3'
* commit 'd0540fd02171a6233d2016b199d013299debf7e3':
  intrax8: Pass macroblock size to ff_intrax8_common_init

Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-07 21:35:20 +01:00
Hendrik Leppkes
d46e856350 h265_parse: skip zero sized NAL units
Avoids extra error checks later on and/or invalid reads.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-07 21:14:23 +01:00
Hendrik Leppkes
d6f92103e0 h264: do not return an error when NAL parsing of extradata failed
Fixes AnnexB samples with broken extradata, but proper in-band parameter sets

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-07 21:14:17 +01:00
Hendrik Leppkes
772ad7142d Merge commit 'ca2f19b9cc37be509d85f05c8f902860475905f8'
* commit 'ca2f19b9cc37be509d85f05c8f902860475905f8':
  h264: switch to h2645_parse for NAL parsing

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-05-07 21:13:44 +01:00
Hendrik Leppkes
9cc1ab63ac h2645_parse: allow partial escaping
This ports the fix from 033a533 to the new parser module in prepartion
of using it for the h264 decoder.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-07 21:11:21 +01:00
Hendrik Leppkes
c802389393 h2645_parse: initialize the GetBitContext to the proper size
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-07 21:11:10 +01:00
Hendrik Leppkes
6eb1b40ad8 hevc: fix size condition in ptl parsing
When only one sublayer is present, no information is coded. Only when at least two
are present, all 8 sublayers are written.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-07 21:10:59 +01:00