Commit Graph

36030 Commits

Author SHA1 Message Date
Clément Bœsch
6c98398b0b lavc/get_bits: add a logging context to check_marker()
Based on d338abb664
2016-06-22 20:07:49 +02:00
Clément Bœsch
541e1c2c3b Merge commit '31f6a4b4b83aca1d73f3cfc99ce2b39331970bf3'
* commit '31f6a4b4b83aca1d73f3cfc99ce2b39331970bf3':
  lavc: mark the old audio/video encoding API as deprecated

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-22 19:51:36 +02:00
Clément Bœsch
17fdffc9f8 Merge commit '8996515b137f962e3a8691241c285c96437b6c53'
* commit '8996515b137f962e3a8691241c285c96437b6c53':
  avpacket: fix setting AVPacket.data in av_packet_ref()

This commit is a noop, see ed3a02547c

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-22 19:32:00 +02:00
Clément Bœsch
d4b1b3b06c Merge commit 'e62ff72fc1052273deb708ba715f73e5187281d4'
* commit 'e62ff72fc1052273deb708ba715f73e5187281d4':
  lavc: make avcodec_open2() fail when the timebase is not set for encoding

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-22 19:29:56 +02:00
Michael Niedermayer
70d48accd8 avcodec/tests/options: Set timebase
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-22 18:49:33 +02:00
Clément Bœsch
5d48e4eafa Merge commit 'a6a750c7ef240b72ce01e9653343a0ddf247d196'
* commit 'a6a750c7ef240b72ce01e9653343a0ddf247d196':
  tests: Move all test programs to a subdirectory

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-22 13:44:34 +02:00
Clément Bœsch
5558ff3a9f Merge commit '257f00ec1ab06a2a161f535036c6512f3fc8e801'
* commit '257f00ec1ab06a2a161f535036c6512f3fc8e801':
  Split global .gitignore file into per-directory files

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-22 11:28:51 +02:00
Clément Bœsch
85185578ce lavc/qtrleenc: simplify FF_API_CODED_FRAME deprecation guard 2016-06-22 11:09:19 +02:00
Clément Bœsch
0491d6993a lavc/error_resilience: remove unused skip_last_mv label
Unused since a7b8a6e704
2016-06-22 11:07:54 +02:00
Clément Bœsch
e6247a22c0 Merge commit '763d69bfb2f0094e99f43e657cfd2b0471361f6b'
* commit '763d69bfb2f0094e99f43e657cfd2b0471361f6b':
  Add some more deprecation guards

- psnr() deprecation is not merged within ffmpeg.c as we still use it in
  non-deprecated code

- the XVMC chunk is not merged as we still apparently maintain it

- The guarding in lavc/qtrleenc.c could be simplified but merged anyway.

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-22 11:06:04 +02:00
Matthieu Bouron
df3484f87c lavc/videotoolbox: fix avcC extradata creation
Fixes properly ticket #5638.

Since 772ad7142d PPS and SPS contain the
nal type byte.

This reverts commit b8d754c5d0.
This reverts commit 8e47a99f57.
2016-06-22 10:03:45 +02:00
Clément Bœsch
a4403e49b9 Merge commit 'b7e64fba7f37cc0399beae844f0a5dbef9219376'
* commit 'b7e64fba7f37cc0399beae844f0a5dbef9219376':
  Reduce the scope of some variables

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-21 22:40:56 +02:00
Clément Bœsch
475a686a01 Merge commit '885a9d6087315a85d98f7e89656ef01dc7104c4c'
* commit '885a9d6087315a85d98f7e89656ef01dc7104c4c':
  pgssub: Fix subpicture colorspace and range

See 9779b62624

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-21 22:20:49 +02:00
Clément Bœsch
363d4a0e65 Merge commit '283226e11ccf50a71d25d150fbbf1743f74c6c49'
* commit '283226e11ccf50a71d25d150fbbf1743f74c6c49':
  simple_idct_template: Fix strict aliasing violation

See 5df703aa1b

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-21 22:12:36 +02:00
Clément Bœsch
8df1dbd798 Merge commit '5afb94c817abffad030c6b94d7003dca8aace3d5'
* commit '5afb94c817abffad030c6b94d7003dca8aace3d5':
  Mark read-only tables as static

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-21 22:09:35 +02:00
Clément Bœsch
8ef57a0d61 Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'
* commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb':
  cosmetics: Fix spelling mistakes

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-21 21:55:34 +02:00
Clément Bœsch
9204a84998 Merge commit '5c31eaa9998b2185e0aa04d11adff128498dc14a'
* commit '5c31eaa9998b2185e0aa04d11adff128498dc14a':
  Remove unnecessary get_bits.h #includes and add missing headers where needed.

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-21 15:42:49 +02:00
Clément Bœsch
d12cce3fb2 Merge commit '5f1c3cbd524728317bf460259aa8f3ef5ec935c6'
* commit '5f1c3cbd524728317bf460259aa8f3ef5ec935c6':
  vaapi: Drop pointless debug output

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-21 15:36:43 +02:00
Clément Bœsch
14762dd3f3 Merge commit '015c2d923902fcd562571993eaf1231ce388c7f0'
* commit '015c2d923902fcd562571993eaf1231ce388c7f0':
  libopencore-amr: Fix ff_dlog()/av_log() invocations

The log changed in our tree in 4a28962454
is kept as is since it's the correct thing to do (the log mentions what
the first byte *was*, so it's refering to the source packet, not the
encoded bitstream).

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-21 15:30:16 +02:00
Clément Bœsch
c01f1157ac Merge commit '0f40c9098498ad90dbbd2380eb4269015e84bde4'
* commit '0f40c9098498ad90dbbd2380eb4269015e84bde4':
  Drop pointless assert.h #includes

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-21 15:26:20 +02:00
Matthieu Bouron
0cd5e281df lavc/mediacodecdec_h264: use ff_h264_decode_extradata to extract PPS/SPS
Fixes playback of HLS streams on MediaTek devices which requires PPS/SPS
to be set in their respective csd-{0,1} buffers.
2016-06-21 14:20:57 +02:00
Clément Bœsch
d16aefee5c lavc/mmaldec: reduce some diffs with Libav missed in previous skipped merges 2016-06-21 13:35:36 +02:00
Clément Bœsch
ba5100ce84 Merge commit '74beead9bd596180bcac6108548fc0a86d8eb4ae'
* commit '74beead9bd596180bcac6108548fc0a86d8eb4ae':
  mmaldec: limit internal buffering

See 14a90c9ef0

The introduction of the MMAL_PARAMETER_VIDEO_MAX_NUM_CALLBACKS check is
merged.

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-21 13:32:57 +02:00
Clément Bœsch
f36fcf7b6c Merge commit '4b2e69397b84d1c1a29ffae6e9f106f2c32b1869'
* commit '4b2e69397b84d1c1a29ffae6e9f106f2c32b1869':
  dds: Add support for monochrome images

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-21 12:29:46 +02:00
Clément Bœsch
dea0a2b69a Merge commit 'e3c9041cfe2e6526802255583d27abf9a921863e'
* commit 'e3c9041cfe2e6526802255583d27abf9a921863e':
  h264: allocate some tables per slice contexts, not threads

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-21 10:28:14 +02:00
Clément Bœsch
04aefe205b Merge commit 'e0652795292223f8bc8e5bac019c1fca7323d23c'
* commit 'e0652795292223f8bc8e5bac019c1fca7323d23c':
  h264: remove an artificial restriction on the number of slice threads

Tested with multiple runs of fate-h264 THREADS=50 THREAD_TYPE=slice

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-21 10:24:31 +02:00
Clément Bœsch
26cfafa52d lavc/h264_slice: mark ref2frm as const pointers 2016-06-21 10:09:19 +02:00
Matthieu Bouron
0ea58059d6 lavc/h264_ps: add ff_h264_ps_uninit and use it 2016-06-20 16:09:09 +02:00
Clément Bœsch
0528410e04 Merge commit '4fd34e639d15b44e02686c9b4ef58c9c3c9b0a69'
* commit '4fd34e639d15b44e02686c9b4ef58c9c3c9b0a69':
  h264: remove pointless setting of some variables in loop_filter

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-20 15:38:11 +02:00
Clément Bœsch
fabdb7505a Merge commit '9c858ce33fa9b94ebc320dd9d9fa423e708e90cc'
* commit '9c858ce33fa9b94ebc320dd9d9fa423e708e90cc':
  h264: remove a pointless comment

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-20 15:36:44 +02:00
Clément Bœsch
4053989890 Merge commit 'b77fffa127663028169c5ed543956af4b9496c29'
* commit 'b77fffa127663028169c5ed543956af4b9496c29':
  h264: make slice threading work with deblocking_filter=1

again label, and SLICE_SINGLETHREAD error handling are preserved as that
SLICE_SINGLETHREAD can be raised on a remaining case.

slice_context_count is also kept since it's still in use.

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-20 15:34:26 +02:00
Clément Bœsch
c8f7a23319 Merge commit '370ddc7b38d6b27b54fc2f5ee5f3dd9506f8c7c8'
* commit '370ddc7b38d6b27b54fc2f5ee5f3dd9506f8c7c8':
  h264: remove H264Context.pict_type

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-20 12:48:49 +02:00
Clément Bœsch
0ab1816315 Merge commit '56087ec0a29314d1860f6f0e6f40fbb9b40feccd'
* commit '56087ec0a29314d1860f6f0e6f40fbb9b40feccd':
  h264: drop a pointless indirection

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-20 12:31:29 +02:00
Carl Eugen Hoyos
dcdf69561f lavc/audiotoolboxdec: Forward extradata for QDMC and QDM2.
Fixes audiotoolbox decoding of QDMC and QDM2.
2016-06-20 12:23:59 +02:00
Clément Bœsch
cbe2dc7275 Merge commit '0e7772c5e4f1b31e2a3dda714ba4f89b1cca644a'
* commit '0e7772c5e4f1b31e2a3dda714ba4f89b1cca644a':
  h264: remove unused H264SliceContext.rbsp_buffer

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-20 12:07:10 +02:00
Clément Bœsch
c957909a9f Merge commit '7f045c4429e91688f1f2335dd347203431901c06'
* commit '7f045c4429e91688f1f2335dd347203431901c06':
  h264: merge ff_h264_free_context() into h264_decode_end()

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-20 12:03:21 +02:00
Clément Bœsch
d98ca4b14c Merge commit '99c554efc8b09c3f1bb2fb41c3da5431085f7470'
* commit '99c554efc8b09c3f1bb2fb41c3da5431085f7470':
  h264: eliminate low_delay

ff_print_debug_info2() is adjusted to allow a NULL pointer as low_delay.
It's only useful for MPEG codecs with the exception of H264.

Merged-by: Clément Bœsch <clement@stupeflix.com>
2016-06-20 11:47:40 +02:00
Clément Bœsch
38a2d9aeec lavc/h264_parser: replace AVCodecContext with logging ctx in scan_mmco_reset() 2016-06-20 10:36:16 +02:00
Clément Bœsch
4fdea02d68 lavc/h264: add a logging ctx to ff_h264_pred_weight_table() 2016-06-20 10:36:16 +02:00
Matthieu Bouron
432891a96e lavc/mediacodecdec{,_h264}: set FF_CODEC_CAP_SETS_PKT_DTS capability
And sets frames pkt_dts to AV_NOPTS_VALUE as we do not want lavc/utils
to overwrite the field with incorrect values as the decoder is
asynchronous.
2016-06-20 10:07:41 +02:00
Dan Dennedy
b8d754c5d0 lavc/videotoolbox: Fix videotoolbox compile error on OS X 10.8.
Fixes error:
libavcodec/videotoolbox.c:511:18: error: implicit declaration of function
'CMVideoFormatDescriptionCreateFromH264ParameterSets' is invalid in C99

This was added in 10.9:
https://developer.apple.com/reference/coremedia/1489818-cmvideoformatdescriptioncreatefr?language=objc
2016-06-19 21:52:56 -04:00
Clément Bœsch
fd1d84bcf6 lavc/magicyuv: fix undefined behaviour introduced in 8a135a55b
Order of evaluation of parameters in C is not defined.
2016-06-19 19:01:14 +02:00
James Almer
5f5a97dc3d avcodec/qsvenc_h264: declare the QSVEncContext variable before using it
Should fix compilation.

Regression introduced by commit 63adb3602d

Signed-off-by: James Almer <jamrial@gmail.com>
2016-06-19 12:04:03 -03:00
Clément Bœsch
c3afe64d0c Merge commit '5b35b290dd76db64f079b3940f6148c8f273fc17'
* commit '5b35b290dd76db64f079b3940f6148c8f273fc17':
  h264: remove a stale comment

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-19 13:48:09 +02:00
Clément Bœsch
d5cfe23324 Merge commit '89ae244e78a8d636fbb8427a2da052b04cf710bd'
* commit '89ae244e78a8d636fbb8427a2da052b04cf710bd':
  h264_refs: remove an unused parameter from ff_h264_fill_mbaff_ref_list()

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-19 13:45:59 +02:00
Clément Bœsch
222e7d23d0 Merge commit '755f79f84cbeb5d749fb120e55e0098a2d7663a0'
* commit '755f79f84cbeb5d749fb120e55e0098a2d7663a0':
  h264_refs: make the H264Context const where possible

ff_h264_decode_ref_pic_list_reordering() and h264_initialise_ref_list()
do not have a const H264Context * as they modify the default_ref inside
that context.

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-19 13:36:33 +02:00
Clément Bœsch
902862bb4b Merge commit 'a2fd547839d3ef8f342b6f2c096d0887675d3b1a'
* commit 'a2fd547839d3ef8f342b6f2c096d0887675d3b1a':
  h264_refs: reorder functions to avoid forward declarations

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-19 13:04:17 +02:00
Clément Bœsch
98456d4d69 Merge commit '0ba471d7d864c712f45d7ac6aca4829aba025adc'
* commit '0ba471d7d864c712f45d7ac6aca4829aba025adc':
  h264: eliminate copy_fields

Added a copy of default_ref which isn't present in Libav.

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-19 13:00:28 +02:00
Clément Bœsch
0ed14bba12 Merge commit '72da8d9bb24d1b1bf74c2f1108650c0da0054d2e'
* commit '72da8d9bb24d1b1bf74c2f1108650c0da0054d2e':
  h264_parser: remove the remaining dependencies on the h264 decoder

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-19 12:50:24 +02:00
Clément Bœsch
34ec084b84 lavc/h264: move history parsing variable to H264ParseContext
This makes h264_find_frame_end() not depend on H264Context anymore.
2016-06-19 12:38:28 +02:00
Clément Bœsch
48ea5433c8 lavc/h264_parser: pass logctx to h264_find_frame_end()
This helps removing the H264Context from the H264ParseContext.
2016-06-19 12:34:38 +02:00
Clément Bœsch
0bf5fd2e19 Merge commit '98c97994c5b90bdae02accb155eeceeb5224b8ef'
* commit '98c97994c5b90bdae02accb155eeceeb5224b8ef':
  h264: decouple extradata parsing from the decoder

Main changes:

- move get_avc_nalsize() inside h264_parser.c and make it use
  H264ParseContext instead of H264Context. This helps fixing
  fate-flv-demux.

- Also use is_avc/nal_length_size from the H264ParseContext in various
  places instead of the H264Context one as that's the fields now filled
  by ff_h264_decode_extradata()

- h264_parse: dont fail decode_extradata_ps() due to nal split failure.
  Change by Michael to fix decoding of h264/ref_10.avi.

Merged-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-19 12:17:41 +02:00
Paul B Mahol
8a135a55b3 avcodec/magicyuv: check dimensions
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-06-19 09:45:29 +02:00
Andrey Turkin
63adb3602d libavcodec: factor out SEI generation for A53 captions
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-19 02:11:20 +02:00
Clément Bœsch
b51d5c99b8 lavc/h264_parse: remove tabs introduced in a2922b5d 2016-06-18 14:10:00 +02:00
Clément Bœsch
5584f019b5 Merge commit '728d90a0c1973661a9e73da697bf4f90c9d19577'
* commit '728d90a0c1973661a9e73da697bf4f90c9d19577':
  h264: decouple h264_sei from the h264 decoder

Main changes:

- SEI decoding doesn't have access to the debug flag in the codec context so a
  few logging are dropped.

- naming of quincunx_sampling_flag and frame_packing_arrangement_type are kept
  as they are in FFmpeg instead of respectively quincunx_subsampling and
  arrangement_type used in Libav because the former match the specifications.

- don't reset the x264 build info once read in order to fix
  fate-h264-lossless (change by Hendrik)

- H264Context.has_recovery_point and deprecated
  AVCodecContext.dtg_active_format are set after ff_h264_sei_decode()
  based on the SEI state since ff_h264_sei_decode() doesn't have access
  to H264Context anymore.

- frame_packing_arrangement_type is not checked against <= 0 in
  decode_postinit() since it is always read as a positive value with
  get_bits(). This fixes a -Wtype-limits warning by GCC spotted by
  Michael.

Side Notes:

- tested that ffprobe on the file from ticket #3652 still returns 4
  keyframes
- tested that playback from ticket #3063 still works

Merged-by: Clément Bœsch <clement@stupeflix.com>
Signed-off-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-06-18 14:04:55 +02:00
James Almer
403a53c60e avcodec/ffv1enc: silence warning about deprecated coded_frame
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-06-17 16:53:13 -03:00
Michael Niedermayer
4efbeadadc avcodec/snow: Document BlockNode
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-17 21:48:34 +02:00
Michael Niedermayer
737f06577c avcodec/snow: Remove unused function
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-17 21:48:34 +02:00
Clément Bœsch
6cb550e933 lavc/videotoolbox: remove config_info maximum capacity
In case of extradata, config_info will contain two entries instead of
one.
2016-06-17 17:46:19 +02:00
Clément Bœsch
6fd58eba1c lavc/videotoolbox: CFRelease() session
"When you are done with a decompression session you created, call
VTDecompressionSessionInvalidate to tear it down and then CFRelease to
release your object reference."
2016-06-17 17:46:19 +02:00
Steve Lhomme
193a421994 d3d11va: don't keep the context lock while waiting for a frame
also fixes a deadlock found by Денис Кулаков <kudesnik33ra@gmail.com>

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-17 08:39:41 +02:00
Rick Kern
8b069b1cd5 lavc/videotoolboxenc: remove unnecessary logging
Signed-off-by: Rick Kern <kernrj@gmail.com>
2016-06-16 21:22:13 -04:00
Rick Kern
8e47a99f57 lavc/videotoolbox: fix H.264 hwaccel init issue
Fixes VTDecompressionSessionCreate() error.

Signed-off-by: Rick Kern <kernrj@gmail.com>
2016-06-16 21:06:45 -04:00
Rick Kern
143685a42b lavc/audiotoolboxenc: fix dropped frames on iOS
AudioConverterFillComplexBuffer() doesn't always call its callback. A frame
queue is used to prevent skipped audio samples.

Signed-off-by: Rick Kern <kernrj@gmail.com>
2016-06-16 21:02:41 -04:00
James Almer
94011f994a avodec/h264dec: fix compilation with -DTRACE
Signed-off-by: James Almer <jamrial@gmail.com>
2016-06-16 18:52:23 -03:00
Paul B Mahol
6098d4b8a8 avcodec/sheervideo: check build_vlc for failure
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-06-16 23:05:30 +02:00
Carl Eugen Hoyos
aec96e233f lavc/dpx: Support decoding 12 bit colourspace with transparency information. 2016-06-15 17:45:51 +02:00
Matthieu Bouron
346b3c5c41 lavc/mediacodec: re-indent after previous commit 2016-06-15 16:40:36 +02:00
Matthieu Bouron
e452abc5c2 lavc/mediacodec: refactor ff_AMediaCodecList_getCodecByType
Allows to select a codec (encoder or decoder) only if it supports a
specific profile.

Adds ff_AMediaCodecProfile_getProfileFromAVCodecContext to convert an
AVCodecContext profile to a MediaCodec profile. It only supports H264
for now.

The codepath using MediaCodecList.findDecoderForFormat() (Android >= 5.0)
has been dropped as this method does not allow to select a decoder
compatible with a specific profile.
2016-06-15 16:36:13 +02:00
James Almer
ede4ec1f8f x86/aacpsdsp: optimize add_squares loop
Signed-off-by: James Almer <jamrial@gmail.com>
2016-06-14 12:41:23 -03:00
Carl Eugen Hoyos
d5ded429f2 lavc/dpx: Support decoding 10 bit colourspace with transparency information.
Fixes one sample from ticket #5639.
2016-06-14 17:02:34 +02:00
Clément Bœsch
7dd8cd1933 lavc/h264_sei: fix broken style around green metadata code 2016-06-14 08:23:23 +02:00
Clément Bœsch
5342bb624d lavc/h264: rename GreenMetaData to H264SEIGreenMetaData
Reduces diff for the next merge with Libav.
2016-06-14 08:23:23 +02:00
Clément Bœsch
b0ec36c9b1 lavc/h264_sei: reduce scope of parameters for green meta decode
This is again will help the merge as ff_h264_decode_sei will not have
access to H264Context anymore.
2016-06-14 08:23:23 +02:00
Clément Bœsch
fef89aae98 lavc/h264: move green meta logging out of the sei decoding
This will simplify the next Libav merge where SEI decoding doesn't have
access to the debug level anymore.
2016-06-14 08:23:23 +02:00
Clément Bœsch
7a2a8b541a lavc/h264_sei: fix green metadata typo 2016-06-13 22:41:38 +02:00
Jérôme Martinez
878c3a3645 avcodec/ffv1dec: fix some unsupported pix_fmt
When checking pix_fmt mapping, some bitstreams are mapped to an
incorrect pix_fmt instead of being rejected (ENOSYS).
Actually, such bitstreams are not supported (FFmpeg encoder does not
produce such bitstream, such bitstream may come only from another
encoder for the moment).

- JPEG 2000 RCT 11/13/15/16 bit depths are mapped to a 8-bit FFmpeg
pix_fmt (e.g. bgr0), which is not expected.
- JPEG 2000 RCT 9/10/12/14 bit depths with alpha are mapped to a
FFmpeg pix_fmt without alpha (e.g. AV_PIX_FMT_GBRP9 for 9-bit with
alpha), which is not expected.

The order for choosing the pix_fmt is changed to the one used by YCbCr
selection (<=8 bit first).
" && !f->transparency" is added to the other lines.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-13 22:07:35 +02:00
Michael Niedermayer
4a8ed314fb avcodec/h264_slice: Add casts to suppress warnings
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-13 01:57:22 +02:00
Clément Bœsch
aafdad1b45 lavc/videotoolbox: fix sps/pps mistake introduced in 1534ef87 2016-06-12 20:53:57 +02:00
Clément Bœsch
4df944920c lavc/videotoolbox: fixes compilation after 1534ef87 2016-06-12 20:53:57 +02:00
Clément Bœsch
82d79970ed lavc/vda_h264: fixes compilation after 1534ef87 2016-06-12 20:53:57 +02:00
Anton Khirnov
6e92181bf8 h264: pass just the PPS to get_chroma_qp()
It does not need the whole context. This will simplify the following
commit.
2016-06-12 20:27:53 +02:00
Anton Khirnov
d1f539c97e h264: merge the two reinit blocks in slice_header_parse()
The only difference is that the first of them contains a
ff_h264_flush_change() call. While that is not necessary in the second
block, it should cause no problems either.

Reduce the verbosity of the reinit log message from info to verbose,
since now it will be displayed during every decode session.
2016-06-12 20:27:53 +02:00
Anton Khirnov
3fba16ecd9 h264: factor starting a new field out of parsing the slice header 2016-06-12 20:27:53 +02:00
Anton Khirnov
bec993381c h264: postpone generating the implicit MMCOs
Do it right before the MMCOs are applied to the DPB. This will allow
moving the frame_start() call out of the slice header parsing, since
generating the implicit MMCOs needs to be done after frame_start().
2016-06-12 20:27:53 +02:00
Anton Khirnov
2d410ebbaa h264: decode the MMCOs into per-slice contexts
They are stored in the slice header, so technically they are per-slice
(though they must be the same in every slice). This will simplify the
following commits.
2016-06-12 20:27:53 +02:00
Anton Khirnov
39ab2ea531 h264: rename mmco_index to nb_mmco
The variable stores the number of mmco entries, so the current name is
misleading.
2016-06-12 20:27:53 +02:00
Anton Khirnov
7ab5d577a9 h264: move initializing the slice start out of h264_slice_header_parse() 2016-06-12 20:27:53 +02:00
Anton Khirnov
4cec43a9ee h264: move calculating the POC out of h264_slice_header_parse()
This function does not do any bitstream parsing and it depends on the
current frame being allocated, so this will allow the frame_start() to
be moved out eventually.
2016-06-12 20:27:52 +02:00
Anton Khirnov
6dd996c7c8 h264: move building the reference list out of h264_slice_header_parse()
This does not do any bitstream parsing and will allow moving out other
code in later commits.
2016-06-12 20:27:52 +02:00
Anton Khirnov
0bad254300 h264: move initing the implicit pred weight table out of h264_slice_header_parse()
It depends on the reference list, so this will allow moving out the
reference list construction and consequently other code it depends on.
2016-06-12 20:27:52 +02:00
Anton Khirnov
ed9a20ebe4 h264: split reading the ref list modifications and actually building the ref list
This will allow postponing the reference list construction (and by
consequence some other functions, like frame_start) until the whole
slice header has been parsed.
2016-06-12 20:27:52 +02:00
Anton Khirnov
fa57059079 h264: move initialising the implicit pred weight table for MBAFF
Do it where the normal implicit table is initialised.
2016-06-12 20:27:52 +02:00
Anton Khirnov
7b50d60442 h264: call ff_h264_fill_mbaff_ref_list() when constructing the normal ref list
There is no real reason to call it separately.
2016-06-12 20:27:52 +02:00
Anton Khirnov
b16e9b9ac9 h264: move initialising the explicit pred weight table for MBAFF
Currently it's done in the code that initialises the ref list for
MBAFF, which is not a logical place for it. Move it to the function that
parses the pred table from the bitstream, which is analogous to what is
done for the implicit weight table as well.
2016-06-12 20:27:52 +02:00
Anton Khirnov
77a1e2c5f8 h264: move direct mode inits out of h264_slice_header_parse()
This code does not do any bitstream parsing, it just initializes some
internal state.
2016-06-12 20:27:52 +02:00
Anton Khirnov
d06e4d8aab h264: start splitting decode_slice_header()
That function is currently very long and entangles bitstream parsing and
decoder configuration. This makes the code much harder to read than
necessary.

Begin splitting the code that configures the decoder state based on the
slice header information from the parsing of the slice header.
2016-06-12 20:27:52 +02:00
Anton Khirnov
b93c0aed79 h264: drop an outdated comment 2016-06-12 20:27:52 +02:00
Michael Niedermayer
c3ad63c6a3 avcodec/iff: Fix bytestream advance
Fixes Ticket5585

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-12 20:26:32 +02:00
Clément Bœsch
bd3fd467fe Merge commit 'c8dcff0cdb17d0aa03ac729eba12d1a20f1f59c8'
* commit 'c8dcff0cdb17d0aa03ac729eba12d1a20f1f59c8':
  h264: factor out calculating the POC count into a separate file

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-12 19:01:43 +02:00
Clément Bœsch
65d5f32fd7 Merge commit '113aeee6aed35cb786a9f6d69b0cb210f498b9da'
* commit '113aeee6aed35cb786a9f6d69b0cb210f498b9da':
  h264_parser: move the H264DSPContext to the parser context

H264Context is kept locally as it is currently needed for logging
(h->avctx as log context) and for is_avc and nal_length_size. These
later fields will later be obtained when the extradata parsing is
decoupled from the decoder. This code will be updated accordingly when
that commit is merged.

Merged-by: Clément Bœsch <u@pkh.me>
2016-06-12 15:43:28 +02:00
Clément Bœsch
83163577e2 lavc/h264: remove unused ff_h264_init_dequant_tables prototype
Unused since 1534ef87 / 3176217c.
2016-06-12 13:38:23 +02:00
Clément Bœsch
1534ef87c7 Merge commit '3176217c60ca7828712985092d9102d331ea4f3d'
* commit '3176217c60ca7828712985092d9102d331ea4f3d':
  h264: decouple h264_ps from the h264 decoder

Main changes:

- a local GetBitContext is created for the various
  ff_h264_decode_seq_parameter_set() attempts

- just like the old code, remove_sps() is adjusted so it doesn't remove
  the pps.

  Fixes decode with Ticket #631
  http://ffmpeg.org/pipermail/ffmpeg-user/attachments/20111108/dae58f17/attachment.mp4
  but see next point as well.

- ff_h264_update_thread_context() is updated to work even when SPS
  isn't set as it breaks current skip_frame code. This makes sure we
  can still decode the sample from ticket #631 without the need for
  -flags2 +chunks. (Thanks to Michael)

- keep {sps,pps}_ref pointers that stay alive even when the active
  pps/sps get removed from the available lists (patch by michaelni with
  additionnal frees in ff_h264_free_context() from mateo)

- added a check on sps in avpriv_h264_has_num_reorder_frames() to fix
  crashes with mpegts_with_dvbsubs.ts from Ticket #4074
  http://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket4074/mpegts_with_dvbsubs.ts

- in h264_parser.c:h264_parse(), after the ff_h264_decode_extradata() is
  called, the pps and sps from the local parser context are updated with
  the pps and sps from the used h264context. This fixes fate-flv-demux.

- in h264_slice.c, "PPS changed between slices" error is not triggered
  anymore in one condition as it makes fate-h264-xavc-4389 fails with
  THREADS=N (Thanks to Michael)

Merged-by: Clément Bœsch <clement@stupeflix.com>
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
Merged-by: Matthieu Bouron <matthieu.bouron@stupeflix.com>
2016-06-12 13:26:52 +02:00
Paul B Mahol
1a57b464cf avcodec/sheervideo: add 10-bit interlaced RGB(A) support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-06-12 12:35:05 +02:00
Paul B Mahol
84efdabc94 avcodec/utvideodec: add support for UQRG and UQRA formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-06-12 01:07:23 +02:00
Carl Eugen Hoyos
3da860fbcf lavc/libutvideodec: Do not set bits_per_raw_sample.
It is not always 8 but never different from the pix_fmt property.
2016-06-11 22:38:41 +02:00
Paul B Mahol
3ecc59bc35 avcodec/utvideodec: fix multiple slices for UQY2 and other issues
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-06-11 21:31:49 +02:00
Paul B Mahol
115e63c8d6 avcodec/utvideo: add support for UQY2
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-06-11 18:36:39 +02:00
Michael Niedermayer
b21f674876 avcodec/mpc8: Correct end truncation
Fixes Ticket5478

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-11 17:27:19 +02:00
Rick Kern
98a3355c6a lavc/videotoolboxenc: set extradata when opening codec
VideoToolbox doesn't supply parameter sets until the first frame is done
encoding. This spins up a temporary encoder and encodes a single frame to
get this data.

Signed-off-by: Rick Kern <kernrj@gmail.com>
2016-06-11 10:30:34 -04:00
Rick Kern
c5a5ca754b lavc/videotoolboxenc: fix allocated buffer size
Allocates a buffer with padding, and with enough room for start codes when
length codes are smaller.

Signed-off-by: Rick Kern <kernrj@gmail.com>
2016-06-11 10:30:34 -04:00
Mark Thompson
d4cd8e7f6a vaapi_encode_h26[45]: Reject bitrate targets higher than 2^31 2016-06-10 21:18:58 +01:00
Michael Niedermayer
056a4ae771 avcodec/cfhd: Set dimensions unconditionally
Fixes Ticket5215

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-10 22:05:38 +02:00
Paul B Mahol
9e9286e9ed avcodec/sheervideo: add support for 10-bit interlaced YCbCr(A) 4:2:2
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-06-10 17:17:12 +02:00
Paul B Mahol
f0e7b06453 avcodec/sheervideo: fix argx format support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-06-10 17:17:12 +02:00
Timo Rothenpieler
88e8aef9e9 avcodec/cuvid: add cuvid decoder 2016-06-10 16:31:23 +02:00
Michael Niedermayer
24f5136196 avcodec/mpegvideo: Do not clear the parse context during init
It is allocated before, this cannot work
Fixes Ticket5613

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-10 15:54:20 +02:00
Paul B Mahol
2ed8baa614 avcodec/sheervideo: add support for 10-bit interlaced YCbCr(A) 4:4:4(:4)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-06-10 11:26:18 +02:00
Paul B Mahol
c156420bce avcodec/sheervideo: fix prediction for ybyr format
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-06-10 09:52:38 +02:00
Paul B Mahol
0a9e781b88 avcodec/sheervideo: fix predictions for c82p format
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-06-10 00:25:36 +02:00
Mark Thompson
2940e196c5 vaapi_h265: cu_qp_delta should not be used in constant-QP mode 2016-06-09 21:15:39 +01:00
Mark Thompson
02fa1ad926 vaapi_h264: Add source version identifier as unregistered SEI
Contains the libavcodec version, the VAAPI version and the libva
driver vendor string.
2016-06-09 21:15:39 +01:00
Mark Thompson
48e2967cd5 vaapi_h264: Add support for SEI messages
Send buffering_period and pic_timing messages when in modes
targetting bitrate.  Also adds NAL HRD parameters to VUI.
2016-06-09 21:15:39 +01:00
Mark Thompson
19d7667a81 vaapi_encode: Add support for writing arbitrary additional packed headers 2016-06-09 21:15:39 +01:00
Mark Thompson
081961f819 vaapi_h264: Add support for VUI parameters
Supports aspect ratio, colour format and timing information.
2016-06-09 21:15:39 +01:00
Paul B Mahol
0c7fa152b9 avcodec/sheervideo: supports some other 8bit formats
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-06-09 15:30:27 +02:00
Paul B Mahol
e826ceeb55 avcodec/sheervideo: add interlaced YCbCr(A) 4:2:2:4 8-bit support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-06-09 13:17:38 +02:00
Anton Khirnov
2e4a7bd553 h264: drop unused H264Context.gb
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-06-09 11:19:15 +02:00
Paul B Mahol
131cb675cf avcodec/sheervideo: add interlaced YCbCr(A) 4:4:4:4 8-bit support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-06-09 10:23:02 +02:00
Rostislav Pehlivanov
a04ae469e7 aacsbr: reduce element type mismatch warning severity
All HE-AAC samples with an LFE channel make this warning get spammed on
every frame. Turning off SBR for LFE channels makes sense (since it has
much less coefficients than normal channels do), so this error print is
of no value in this case.
It makes sense to keep the error in other cases, hence why it's still
around, degraded to warning severity since the decoder will still
attempt to decode without SBR.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2016-06-08 21:01:04 +01:00
James Almer
82dbfccaf0 x86/aacdec: use HADDPS macro
Signed-off-by: James Almer <jamrial@gmail.com>
2016-06-08 14:18:18 -03:00
Diego Biurrun
4f81f8dba7 Drop unnecessary golomb.h #includes 2016-06-08 18:51:57 +02:00
Diego Biurrun
197ae68e78 Drop unnecessary unary.h #includes 2016-06-08 18:51:56 +02:00
Diego Biurrun
6ac52f05a6 dvbsub_parser: Add missing mem.h #include 2016-06-08 18:51:56 +02:00
Michael Niedermayer
f883f0b0bd avcodec/h264: Put context_count check back
Fixes assertion failure

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-08 15:15:00 +02:00
Michael Niedermayer
27c1eae55f avcodec/h264: Fix off by 1 context count
Fixes fate-h264-xavc-4389 with slice threads
2016-06-07 23:32:34 +02:00
Paul B Mahol
c206a32435 avcodec/sheervideo: fix order of operations for raw lines
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-06-07 23:14:07 +02:00
Paul B Mahol
60bac785c3 avcodec/sheervideo: add support for 8-bit interlaced (A)RGB
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-06-07 22:47:12 +02:00
Paul B Mahol
fdf832a986 avcodec: add BitJazz SheerVideo decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2016-06-07 21:38:49 +02:00
Michael Niedermayer
c36fc857b5 avcodec/alsdec: Check r to prevent out of array read
No testcase known

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-07 21:10:22 +02:00
Diego Biurrun
81f769fa12 gsm: Move requant_tab table to the gsm tables file
This avoids duplicating the table in the gsm template file.
Also adjust the table type to uint8_t to save space.
2016-06-07 13:22:22 +02:00
Diego Biurrun
42dc214323 mpc: Drop unused GetBitContext context member 2016-06-07 13:09:57 +02:00
Diego Biurrun
85b8403c6f svq1enc: Drop unused GetBitContext context member 2016-06-07 13:09:57 +02:00
Diego Biurrun
6d8fd614ff vorbis: Kill some pointless debug code 2016-06-07 13:09:57 +02:00
Diego Biurrun
59c6509d9f mss2: Drop a silly assert 2016-06-07 13:09:57 +02:00
Diego Biurrun
b668662939 get_bits: Move BITSTREAM_READER_LE definition before all relevant #includes
This avoids the danger that get_bits.h might get indirectly #included before
BITSTREAM_READER_LE is defined.

Also sort headers into canonical order where appropriate.
2016-06-07 13:09:57 +02:00
Diego Biurrun
09c4e5c598 indeo2: Drop disabled big-endian ir2_codes table
Only the little-endian variant of the table is ever used.
2016-06-07 13:09:57 +02:00
Diego Biurrun
b7f98659f2 Remove unnecessary get_bits.h #includes 2016-06-07 13:09:57 +02:00
Matthieu Bouron
1729387c7a lavc/mediacodec: improve error messages 2016-06-07 10:22:27 +02:00