Commit Graph

88687 Commits

Author SHA1 Message Date
Aurelien Jacobs
a337b36b8b aptx: implement the aptX bluetooth codec
The encoder was reverse engineered from binary library and from
EP0398973B1 patent (long expired).
The decoder was simply deduced from the encoder.
2017-11-10 21:32:06 +00:00
Anton Khirnov
81c021c6a2 decode: add a per-frame private data for hwaccel use
This will be useful in the CUVID hwaccel. It should also eventually
replace current decoder-specific mechanisms used by various other
hwaccels.

Merges Libav commit 704311b294.
2017-11-10 19:48:09 +01:00
Anton Khirnov
7fa64514c8 decode: add a mechanism for performing delayed processing on the decoded frames
This will be useful in the CUVID hwaccel.

Merges Libav commit badf0951f5.
2017-11-10 19:48:05 +01:00
Anton Khirnov
9f1cfd88af decode: add a method for attaching lavc-internal data to frames
Use the AVFrame.private_ref field.

This new struct will be useful in the following commits.

Merges Libav commit 359a8a3e2d.
2017-11-10 16:56:54 +01:00
Michael Niedermayer
1fa3a9a31d avutil/frame: Add private_ref to AVFrame
This gives FFmpeg libs a field that they can freely and safely use.
Avoiding the need of wrapping of a users opaque_ref field and its issues.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-10 16:44:17 +01:00
Jun Zhao
dd435c957a lavc/libx265: switch to ff_alloc_packet2
ff_alloc_packet have been deprecated, switch to use
ff_alloc_packet2.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-10 00:53:11 +01:00
Jun Zhao
2c6b0315d9 lavc/libkvazaar: switch to ff_alloc_packet2.
ff_alloc_packet have been deprecated, switch to use the
ff_alloc_packet2.

Signed-off-by: Jun Zhao <jun.zhao@intel.com>
Reviewed-by: Arttu Ylä-Outinen <arttu.yla-outinen@tut.fi>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-10 00:53:11 +01:00
Gyan Doshi
84556ef059 lavu/timecode: clarify error msg for timecode_rate
The user-supplied value for timecode_rate in drawtext is rounded
to nearest integer. So, a supplied value of 0.49 or lower is rounded to 0.
This throws a misleading error message which says "Timecode frame rate must be
specified". Changed message to account for values under one.

Also noted supported framerates for drop TC.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-10 00:53:11 +01:00
Steven Liu
1b323c3f9c avformat/dashdec: use the current DASHContext for the rep_dest
fix ticket id: #6820

Signed-off-by: Steven Liu <lq@onvideo.cn>
Tested-by: mrskman
2017-11-10 07:01:45 +08:00
Carl Eugen Hoyos
e7fe5e511a lavf/dashdec: Fix several memleaks.
Signed-off-by: Carl Eugen Hoyos <ceffmpeg@gmail.com>
Tested-by: Steven Liu <lq@chinaffmpeg.org>
2017-11-10 06:59:25 +08:00
Michael Niedermayer
51090133b3 avcodec/cngdec: Fix integer clipping
Fixes: runtime error: value -36211.7 is outside the range of representable values of type 'short'
Fixes: 2992/clusterfuzz-testcase-6649611793989632

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-09 19:49:32 +01:00
James Almer
28f5753fed configure: fix the non pkg-config libmfx check on Windows
Based on a patch by Aaron Levinson.

Reviewed-by: alevinsn
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-09 15:27:43 -03:00
James Almer
bf7ae32a08 avdevice/decklink_dec: make some function static
Reviewed-by: Aaron Levinson <alevinsn_dev@levland.net>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-09 15:27:26 -03:00
Nicolas George
dfa859b85a lavc/pngdec: fix av_bprint_finalize() usage. 2017-11-09 14:08:29 +01:00
Rostislav Pehlivanov
fc9dcfe7d5 aacenc: mark the preset 5.0/5.1 layouts correctly with back speakers
The spec is correct, it does list these layouts as having rear speakers.
Questionable how many decoders correctly interpret those correctly since
side is way more popular.
Also fixes fate-aac-yoraw-encode.

Reported-by: pkviet <pkv.stream@gmail.com>
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-11-09 12:58:42 +00:00
Rostislav Pehlivanov
7b7775a604 aacenc: use the PCE comment field for encoder ID
Also handle extradata of variable size (for bitexact/if PCEs aren't used).

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-11-09 04:35:31 +00:00
Rostislav Pehlivanov
fbf295e2bd aacenc: support extended channel layouts using PCEs
This commit implements support for PCE (Program Configuration Elements) in the
AAC encoder, and as such allows for encoding of channel layouts not present
in the presets defined by the spec (which only lists the 8 most common ones).

This has been a highly requested feature and is also the first open source encoder
to support this many layouts.

Many thanks to pkviet <pkv.stream@gmail.com> who implemented support for and
verified all channel layouts.
2017-11-09 03:37:48 +00:00
Rostislav Pehlivanov
0a771e6b32 pngdec: expose gAMA and cHRM chunks as side/meta data
Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-11-09 02:56:53 +00:00
Rostislav Pehlivanov
723b6baaf8 pngdec: check for bprint finalization sucess on icc data parsing
It can fail in case of OOM.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-11-09 02:34:54 +00:00
Rostislav Pehlivanov
3228ac730c vc2enc_dwt: pad the temporary buffer by the slice size
Since non-Haar wavelets need to look into pixels outside the frame, we
need to pad the buffer. The old factor of two seemed to be a workaround
that fact and only padded to the left and bottom. This correctly pads
by the slice size and as such reduces memory usage and potential
exploits.
Reported by Liu Bingchang.

Ideally, there should be no temporary buffer but the encoder is designed
to deinterleave the coefficients into the classical wavelet structure
with the lower frequency values in the top left corner.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-11-09 00:05:48 +00:00
James Almer
69218b4198 configure: add missing avutil deps for hwcontext modules
Fixes ticket #6812

Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-08 19:32:26 -03:00
Carl Eugen Hoyos
da99b3f0c9 lavfi/scale2ref: Set output frame rate to main input frame rate.
Fixes ticket #6817.
2017-11-08 22:50:05 +01:00
James Almer
349e9a8787 avformat/ty: fix format specifiers in debug log messages
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-08 17:04:42 -03:00
Kaustubh Raste
372a4dda33 avcodec/mips: Improve hevc non-uni hv mc msa functions
Use mask buffer.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-08 20:58:56 +01:00
Kaustubh Raste
4fba8728e8 avcodec/mips: Improve hevc uni weighted 4 tap vt mc msa functions
Use global mask buffer for appropriate mask load.
Use immediate unsigned saturation for clip to max saving one vector register.
Remove unused macro.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-08 20:58:56 +01:00
Kaustubh Raste
350721e9fd avcodec/mips: Improve hevc uni 4 tap hv mc msa functions
Use global mask buffer for appropriate mask load.
Remove unused macro and table.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-08 20:58:56 +01:00
Kaustubh Raste
4878854eef avcodec/mips: Improve hevc bi wgt 4 tap hv mc msa functions
Use global mask buffer for appropriate mask load.
Use immediate unsigned saturation for clip to max saving one vector register.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-08 20:58:56 +01:00
James Almer
9d3eb75cf6 avcodec/qsvenc_jpeg: fix copyright header
Fixes fate-source after 1926f13a20.

Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-08 14:58:51 -03:00
James Almer
4cfb46f94f checkasm/llviddsp: fix warnings about mixed declaration and code
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-08 14:54:15 -03:00
James Almer
d49ca877d0 Merge commit '70946e605924e2108c39f96faa369c220177f301'
* commit '70946e605924e2108c39f96faa369c220177f301':
  h264dec: Fix mix of lossless and lossy MBs decoding
  h264_cabac: Fix CABAC+8x8dct in 4:4:4
  h264dec: fix Lossless Decoding (Profile 244) for 8x8 Intra Prediction

This commit is a noop, see
6f7ca1f55b
840b41b2a6
cf231b68da

Merged-by: James Almer <jamrial@gmail.com>
2017-11-08 14:25:31 -03:00
James Almer
bc987cf91d Merge commit '45c4bf3df03ef53ae61fa1473424d4ae024f22e4'
* commit '45c4bf3df03ef53ae61fa1473424d4ae024f22e4':
  h264dec: track the last seen value of x264_build

Merged-by: James Almer <jamrial@gmail.com>
2017-11-08 14:23:48 -03:00
James Almer
5fd6fa0ca7 Merge commit '45df7adc1d9b7e8fbae5af9328baa6ab3562002b'
* commit '45df7adc1d9b7e8fbae5af9328baa6ab3562002b':
  imgutils: add function to clear an image to black
  lavc, lavu: move frame cropping to a convenience function
  rmdec: add missing brackets to compound statement

This commit is a noop, see
65b83ce01b
caa12027ba
463b81de2b

Merged-by: James Almer <jamrial@gmail.com>
2017-11-08 13:53:26 -03:00
James Almer
975db5dcc2 Merge commit '550cb6a85d0f7211289f7a789527d48cb29460ff'
* commit '550cb6a85d0f7211289f7a789527d48cb29460ff':
  lavf/vf_deinterlace_qsv: Enable the qsv deinterlace vpp

Merged-by: James Almer <jamrial@gmail.com>
2017-11-08 13:47:42 -03:00
James Almer
1926f13a20 Merge commit '2fd6e7d077f590e4d7195356f9baeb271f8b9ae2'
* commit '2fd6e7d077f590e4d7195356f9baeb271f8b9ae2':
  libavcodec/mjpeg_qsv: Add QSV MJPEG encoder

Merged-by: James Almer <jamrial@gmail.com>
2017-11-08 13:45:09 -03:00
James Almer
51f977c2c4 Merge commit '2b1324bd167553f49736e4eaa94f96da9982925e'
* commit '2b1324bd167553f49736e4eaa94f96da9982925e':
  lavf: allow avformat_close_input() with NULL
  dxva: DXVA2_ModeHEVC_VLD_Main10 does not support Main
  caf: add an Opus tag
  hevc: Make sure to update the current frame transfer characteristic

This commit is a noop, see
dc9735eb67
b4093e60c5
5a3b602acd
c64da19bbc
36cd017acd

Merged-by: James Almer <jamrial@gmail.com>
2017-11-08 13:39:58 -03:00
Carl Eugen Hoyos
ba79a101a2 lavc/dnxhddata: Do not print frame rates with supported profiles.
The list is unmaintained, misleading and the frame rates are
ignored by all compatible players.
2017-11-08 09:40:44 +01:00
James Almer
cd1ff3e45d avformat: move priv_pts from AVStream to an internal struct
It has no reason to be in a public header, even if defined as private.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-07 23:20:50 -03:00
Greg Wessels
2c2f25eb89 avutil/hwcontext_d3d11va: Fix leak when wrapping texture in AVD3D11FrameDescriptor
Reviewed-by: Aaron Levinson <alevinsn_dev@levland.net>
Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-07 22:56:43 -03:00
James Almer
fe421d4dee Merge commit '95ce02b35d3d1bb16111031df1d82a6e4d894d36'
* commit '95ce02b35d3d1bb16111031df1d82a6e4d894d36':
  rmdec: don't ignore the return value of av_get_packet()

See 65b83ce01b

Merged-by: James Almer <jamrial@gmail.com>
2017-11-07 19:17:26 -03:00
James Almer
85b9fe9584 Merge commit '825e463a170c7004c63030dc484b2b2de869227b'
* commit '825e463a170c7004c63030dc484b2b2de869227b':
  build: Add feature test macros for glibc 2.19+

This commit is a noop, see
26e8895b73
af1818276e

Merged-by: James Almer <jamrial@gmail.com>
2017-11-07 19:09:11 -03:00
James Almer
ec703910af Merge commit '0f5ad12ba2b538cb329c507ecc914e06bfa70194'
* commit '0f5ad12ba2b538cb329c507ecc914e06bfa70194':
  flac: Use a local cache for decode_residual()

Merged-by: James Almer <jamrial@gmail.com>
2017-11-07 19:08:46 -03:00
James Almer
ff55b62a65 Merge commit '15f1cc09a406cf6296818d475a256902235eefc4'
* commit '15f1cc09a406cf6296818d475a256902235eefc4':
  flac: Postpone unlikely condition checks

Merged-by: James Almer <jamrial@gmail.com>
2017-11-07 18:59:43 -03:00
James Almer
e5841b22ca Merge commit '9c1e111406bd4cbb04d8e8611b71bebf203bec5e'
* commit '9c1e111406bd4cbb04d8e8611b71bebf203bec5e':
  flac: Convert to the new bitstream reader
  bitstream: Avoid undefined behavior in bitstream_skip()

This commit is a noop, see
https://ffmpeg.org/pipermail/ffmpeg-devel/2017-April/209609.html

Merged-by: James Almer <jamrial@gmail.com>
2017-11-07 18:54:00 -03:00
James Almer
17fa37cf41 Merge commit 'fd92dafaff8844b5fedf94679b93d953939a7f7b'
* commit 'fd92dafaff8844b5fedf94679b93d953939a7f7b':
  bink: Split read_dct_coeffs()

Merged-by: James Almer <jamrial@gmail.com>
2017-11-07 18:44:44 -03:00
James Almer
0ff8f0b7b4 Merge commit '5be9939b46a6a4d3860a1b1a872aa50897095970'
* commit '5be9939b46a6a4d3860a1b1a872aa50897095970':
  fate: Add cinepak encoder vsynth tests

See d7f62f033c

Merged-by: James Almer <jamrial@gmail.com>
2017-11-07 18:35:34 -03:00
James Almer
5371274329 Merge commit 'ed3b2a999d189771c9b0ada9a9200117595fa474'
* commit 'ed3b2a999d189771c9b0ada9a9200117595fa474':
  cinepakenc: misc small changes
  cinepakenc: K&R formatting cosmetics
  cinepakenc: Stop using AVPicture
  cinepakenc: Drop broken debug code
  cinepakenc: add option handling for flexibility
  cinepakenc: fixes and improvements
  Add Cinepak encoder

See
59dbc36f49
762c4dc082
bf23642dcc
0ab25dac2f

Merged-by: James Almer <jamrial@gmail.com>
2017-11-07 18:32:53 -03:00
James Almer
ce52e430b2 compat/w32dlfcn: add missing config.h include
Fixes warnings about undefined HAVE_WINRT

Signed-off-by: James Almer <jamrial@gmail.com>
2017-11-07 16:50:26 -03:00
James Almer
514dda6070 Merge commit '4d330da006fe48178a4c8047f06270925eaedf63'
* commit '4d330da006fe48178a4c8047f06270925eaedf63':
  os_support: Use HAVE_UWP instead of manually checking WINAPI_FAMILY
  d3d11va: Check WINAPI_FAMILY instead of HAVE_LOADLIBRARY
  lavf: Remove codec_tag from dashenc and smoothstreamingenc
  hevc: Add support for alternative transfer characterics SEI

Merged-by: James Almer <jamrial@gmail.com>
2017-11-07 16:29:02 -03:00
Carl Eugen Hoyos
15c632719a configure: libvmaf is not GPLv2-compatible.
It is licensed under Apache 2.0.
2017-11-07 13:49:20 +01:00
Kaustubh Raste
991eca0f87 avcodec/mips: Improve hevc bi 4 tap hv mc msa functions
Use global mask buffer for appropriate mask load.
Use immediate unsigned saturation for clip to max saving one vector register.

Signed-off-by: Kaustubh Raste <kaustubh.raste@imgtec.com>
Reviewed-by: Manojkumar Bhosale <Manojkumar.Bhosale@imgtec.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2017-11-07 04:24:06 +01:00