James Almer
fd4eb56528
Merge commit ' 8281cd5cb8'
...
* commit '8281cd5cb8 ':
h264_cabac: drop an always true condition
Merged-by: James Almer <jamrial@gmail.com>
2016-08-01 16:46:57 -03:00
James Almer
f41048f6ec
Merge commit ' 5c2fb561d9'
...
* commit '5c2fb561d9 ':
h264: add H264_ prefix to the NAL unit types
Conflicts:
libavcodec/h264_parse.c
libavcodec/h264_parser.c
libavcodec/h264_slice.c
libavcodec/h264dec.c
Merged-by: James Almer <jamrial@gmail.com>
2016-08-01 15:11:05 -03:00
James Almer
4c121ad546
Merge commit ' 1cf2f3d334'
...
* commit '1cf2f3d334 ':
h264_sei: drop an unnecessary h264dec.h include
Merged-by: James Almer <jamrial@gmail.com>
2016-08-01 13:04:30 -03:00
James Almer
7c8bf2dc2b
Merge commit ' b24dafe105'
...
* commit 'b24dafe105 ':
lavc: drop unnecessary h264dec.h includes
Merged-by: James Almer <jamrial@gmail.com>
2016-08-01 13:03:15 -03:00
James Almer
9ee1f03365
Merge commit ' 70b1dcef2d'
...
* commit '70b1dcef2d ':
h264: tighten the valid range for ref_frame_count
Conflicts:
libavcodec/h264_ps.c
Merged-by: James Almer <jamrial@gmail.com>
2016-08-01 13:02:20 -03:00
James Almer
8c7932884d
Merge commit ' f638b67e57'
...
* commit 'f638b67e57 ':
h264: move the parameter set definitions to a new header file
Conflicts:
libavcodec/h264_parse.h
libavcodec/h264_ps.c
libavcodec/h264dec.h
Merged-by: James Almer <jamrial@gmail.com>
2016-08-01 12:58:09 -03:00
Michael Niedermayer
77b0f3f26d
avcodec/vp9_parser: Check the input frame sizes for being consistent
...
Suggested-by: BBB
Fixed-by: BBB
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-01 17:05:51 +02:00
Clément Bœsch
a170365ae9
Merge commit ' 4e2f621248'
...
* commit '4e2f621248 ':
svq3: stop using H264Picture
Merged-by: Clément Bœsch <u@pkh.me>
2016-07-29 11:20:55 +02:00
Clément Bœsch
ecf65c30cf
Merge commit ' 251cbb4400'
...
* commit '251cbb4400 ':
h264: create a new header for common h264 definitions
Merged-by: Clément Bœsch <u@pkh.me>
2016-07-29 11:13:44 +02:00
Clément Bœsch
15b26e88cb
Merge commit ' 9df889a5f1'
...
* commit '9df889a5f1 ':
h264: rename h264.[ch] to h264dec.[ch]
Merged-by: Clément Bœsch <u@pkh.me>
2016-07-29 11:01:36 +02:00
Clément Bœsch
7dda97fb86
Merge commit ' f651c6a259'
...
* commit 'f651c6a259 ':
h264: factor out setting frame properties / side data
Merged-by: Clément Bœsch <u@pkh.me>
2016-07-29 10:39:57 +02:00
Clément Bœsch
cc0852bee3
Merge commit ' 19446dc5ff'
...
* commit '19446dc5ff ':
h264: drop unused NAL_FF_IGNORE
Merged-by: Clément Bœsch <u@pkh.me>
2016-07-29 10:24:42 +02:00
Clément Bœsch
13872d2aa1
Merge commit ' bcd91f1644'
...
* commit 'bcd91f1644 ':
h264: move a per-field block from decode_slice_header() to field_start()
Merged-by: Clément Bœsch <u@pkh.me>
2016-07-29 10:24:06 +02:00
Josh de Kock
238733f741
hapdec: remove unused memory.h include
...
Most systems have this, so it isn't really a problem to include it
even if it's not used, but some do not have memory.h as it is
non-standard. Since it's unused just remove it anyway.
2016-07-29 09:13:01 +01:00
Michael Niedermayer
8385e1718e
avcodec/h264_slice: Make setup_finished check cover more cases
2016-07-27 19:29:55 +02:00
Clément Bœsch
6c41eda18e
Merge commit ' debca90863'
...
* commit 'debca90863 ':
h264: store {curr,max}_pic_num in the per-slice context
Merged-by: Clément Bœsch <u@pkh.me>
2016-07-27 18:07:30 +02:00
Clément Bœsch
87d1f82059
Merge commit ' f966498e43'
...
* commit 'f966498e43 ':
h264: decode the poc values from the slice header into the per-slice context
Merged-by: Clément Bœsch <u@pkh.me>
2016-07-27 17:31:18 +02:00
Clément Bœsch
f8ce1e8282
lavc/h264_slice: adjust a few line breaks to reduce diff with Libav
2016-07-27 17:24:48 +02:00
Clément Bœsch
78c7197ea0
Merge commit ' 54dd9b1cdd'
...
* commit '54dd9b1cdd ':
h264: set mb_aff_frame in frame_start()
h264: move the block starting a new field out of slice_header_parse()
Both commits are merged at the same time in order to prevent a
regression with Ticket #4440 (see 38660128 ).
Merged-by: Clément Bœsch <u@pkh.me>
2016-07-27 17:00:14 +02:00
Matthieu Bouron
376d8fb2c5
lavc/ffjni: replace ff_jni_{attach,detach} with ff_jni_get_env
...
If a JNI environment is not already attached to the thread where the
MediaCodec calls are made the current implementation will attach /
detach an environment for each MediaCodec call wasting some CPU time.
ff_jni_get_env replaces ff_jni_{attach,detach} by permanently attaching
an environment (if it is not already the case) to the current thread.
The environment will be automatically detached at the thread destruction
using a pthread_key callback.
Saves around 5% of CPU time (out of 20%) while decoding a stream with
MediaCodec.
2016-07-27 15:43:39 +02:00
Martin Storsjö
293676c476
libopenh264: Support building with the 1.6 release
...
This fixes trac issue #5417 .
This is cherry-picked from libav commit
d825b1a530 .
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-07-27 10:19:46 +03:00
Martin Storsjö
c5d326f551
Add an OpenH264 decoder wrapper
...
This is cherrypicked from libav, from commits
82b7525173 and
d0b1e6049b .
Signed-off-by: Martin Storsjö <martin@martin.st>
2016-07-27 10:19:40 +03:00
Ronald S. Bultje
a4edaa0270
vp9: add mxext versions of the single-block (w=8,npx=8) h/v loopfilters.
...
Each takes about 0.1% of runtime in my profiles, and they didn't have
any SIMD yet so far (we only had simd for npx=16 double-block versions).
2016-07-26 15:59:07 -04:00
Ronald S. Bultje
7ca422bb1b
vp9: add mxext versions of the single-block (w=4,npx=8) h/v loopfilters.
...
Each takes about 0.5% of runtime in my profiles, and they didn't have
any SIMD yet so far (we only had simd for npx=16 double-block versions).
2016-07-26 15:59:07 -04:00
Ronald S. Bultje
726501a34e
vp9: add 32x32 idct AVX2 implementation.
...
About 1.8x speedup compared to AVX version for full IDCT. Other
sub-IDCT scenarios also see speedups. Full --bench output for
idct_32x32_add_{bpp}_${subidct}_${opt} (50k cycles):
nop: 16.5
vp9_inv_dct_dct_32x32_add_8_1_c: 2284.4
vp9_inv_dct_dct_32x32_add_8_1_sse2: 145.0
vp9_inv_dct_dct_32x32_add_8_1_ssse3: 137.4
vp9_inv_dct_dct_32x32_add_8_1_avx: 137.1
vp9_inv_dct_dct_32x32_add_8_1_avx2: 73.2
vp9_inv_dct_dct_32x32_add_8_2_c: 14680.8
vp9_inv_dct_dct_32x32_add_8_2_sse2: 2617.2
vp9_inv_dct_dct_32x32_add_8_2_ssse3: 982.9
vp9_inv_dct_dct_32x32_add_8_2_avx: 958.5
vp9_inv_dct_dct_32x32_add_8_2_avx2: 704.2
vp9_inv_dct_dct_32x32_add_8_4_c: 14443.1
vp9_inv_dct_dct_32x32_add_8_4_sse2: 2717.1
vp9_inv_dct_dct_32x32_add_8_4_ssse3: 965.7
vp9_inv_dct_dct_32x32_add_8_4_avx: 1000.7
vp9_inv_dct_dct_32x32_add_8_4_avx2: 717.1
vp9_inv_dct_dct_32x32_add_8_8_c: 14436.4
vp9_inv_dct_dct_32x32_add_8_8_sse2: 2671.8
vp9_inv_dct_dct_32x32_add_8_8_ssse3: 1038.5
vp9_inv_dct_dct_32x32_add_8_8_avx: 983.0
vp9_inv_dct_dct_32x32_add_8_8_avx2: 729.4
vp9_inv_dct_dct_32x32_add_8_16_c: 14614.7
vp9_inv_dct_dct_32x32_add_8_16_sse2: 2701.7
vp9_inv_dct_dct_32x32_add_8_16_ssse3: 1334.4
vp9_inv_dct_dct_32x32_add_8_16_avx: 1276.7
vp9_inv_dct_dct_32x32_add_8_16_avx2: 719.5
vp9_inv_dct_dct_32x32_add_8_32_c: 14363.6
vp9_inv_dct_dct_32x32_add_8_32_sse2: 2575.6
vp9_inv_dct_dct_32x32_add_8_32_ssse3: 2633.9
vp9_inv_dct_dct_32x32_add_8_32_avx: 2539.6
vp9_inv_dct_dct_32x32_add_8_32_avx2: 1395.0
2016-07-26 15:59:07 -04:00
James Almer
0c75bd8e3c
avcodec/dnxhddata: move avpriv_dnxhd_parse_header_prefix to a header
...
It's a small and simple function that can be inlined.
This removes one private symbol and should reduce object dependencies with the next
major bump
Signed-off-by: James Almer <jamrial@gmail.com>
2016-07-25 12:19:39 -03:00
James Almer
26cb7232c3
Revert "lavc: always build dnxhddata"
...
This reverts commit 2adbea4e21 .
A better solution will follow in the next commit.
2016-07-25 12:19:31 -03:00
Carl Eugen Hoyos
71167f7f84
lavc/Makefile: Fix standalone compilation of the svq3 decoder.
...
Regression since 0bf5fd2e
2016-07-24 23:50:33 +02:00
Matthieu Bouron
2adbea4e21
lavc: always build dnxhddata
...
lavc/movenc rely on avpriv_dnxhd_parse_header_prefix declared by
dnxhddata.h since e47981dab7 .
Fixes a missing symbol error in lavc/movenc if the dnxhd encoder is not
enabled.
2016-07-24 22:57:06 +02:00
Carl Eugen Hoyos
9bd35a76fc
lavc/h264_ps: Be more verbose when truncating likely oversized PPS.
2016-07-24 20:21:37 +02:00
Ivan Uskov
b4054100f6
Revert "Merge commit ' 3c53627ac1'"
...
This reverts commit d30cf57a7b , reversing changes made to
acc155ac55 . The commit d30cf57a7b
provided irrelevant code complexity and decoding slowdown. But the main disadvantage of this
commit is a decoder crash. So it should be reverted.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-24 18:36:26 +02:00
Mark Reid
ece12db4f1
libavcodec/dnxhdenc: add support for dnxhr encoding
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-23 14:07:43 +02:00
Mark Reid
cdca1902ab
libavcodec/dnxhdenc: add support for variable mircoblock counts
...
dnxhr has variable resolution, 8160 is the mb num for 1920x1080
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-23 14:07:37 +02:00
Carl Eugen Hoyos
db8e8c9731
lavc/intrax8: Use correct printf specifier for size_t on Windows.
2016-07-22 19:23:01 +02:00
Jan Sebechlebsky
1c46e53dcc
avcodec/mpeg4_unpack_bframes_bsf: Check av_packet_from_data() return value
...
Signed-off-by: Jan Sebechlebsky <sebechlebskyjan@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-22 19:04:21 +02:00
Jan Sebechlebsky
8c997b3d3d
avcodec/mpeg4_unpack_bframes_bsf: Copy packet props
...
mpeg4_unpack_bframes_bsf bitstream filters constructs
resulting packet using av_packet_from_data() function.
This function however modifies only buffer (data) and leaves
other fields untouched, so the content of other fields
of the output packet is undefined.
It is working with old BSF API, since old API filters
just data and the packet fields are copied in
av_apply_bitstream_filters from input packet.
This change fixes the behaviour for the new BSF API.
Signed-off-by: Jan Sebechlebsky <sebechlebskyjan@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-22 18:55:37 +02:00
Sasi Inguva
282477bf45
libx264: Increase x264 opts character limit to 4096
...
Signed-off-by: Sasi Inguva <isasi@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-22 16:37:44 +02:00
James Zern
640c0962c0
libvpxenc,cosmetics: rename common fns vp8 -> vpx
...
+ the context struct
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Zern <jzern@google.com>
2016-07-21 20:51:13 -07:00
James Zern
2afddfe9bf
libvpxdec,cosmetics: rename common fns vp8 -> vpx
...
+ the context struct
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: James Zern <jzern@google.com>
2016-07-21 20:50:26 -07:00
Yong Lei
8dcfe43de0
avcodec/huffman: beautify: add space between #include and filename.
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-22 03:14:07 +02:00
Michael Niedermayer
697b2bbd54
avcodec/ffv1dec: Test extradata_size instead of extradata for better robustness
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-21 23:37:02 +02:00
James Almer
7a15cf42ee
x86/diracdsp: make ff_put_signed_rect_clamped_10_sse4 work on x86_32
...
Reviewed-by: Rostislav Pehlivanov <atomnuker@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2016-07-20 13:43:38 -03:00
Mark Reid
41d7642a7b
libavcodec/dnxhd: add dnxhr profiles
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-20 13:40:06 +02:00
Vignesh Venkatasubramanian
134fe28981
libavcodec/libvpx: Add VPx alpha decode support
...
VPx (VP8/VP9) alpha encoding has been part of FFmpeg. Now, add the
ability to decode such files with alpha channel.
Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
2016-07-19 20:31:13 -07:00
Michael Niedermayer
9bf3fdcd3c
avcodec/h264_slice: Move h264_init_ps() call into h264_field_start()
...
This was missing from f512e4a390
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-20 00:07:18 +02:00
Michael Niedermayer
fd1588919d
avcodec/h264: remove list_count and ref_count clearing
...
The code conflicts with moving the h264_init_ps() call point
Without this, ff_h264_parse_ref_count() fills ref and list count and
h264_init_ps() subsequently wipes them out on a "success" path.
Subsequently things crash as the wiped fields are used.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-20 00:02:12 +02:00
Petru Rares Sincraian
68f991d909
fate: add test for avfft
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-19 23:25:01 +02:00
Clément Bœsch
21c081a246
lavc/h264: fix spacing before comment
2016-07-19 15:34:03 +02:00
Aman Gupta
a49ed9e32d
avcodec/ccaption_dec: default rollup to row 10
...
This ensures that captions are written towards the bottom of the screen
when tuning into mid-stream. The row will be reset on the receipt of the
next PAC command. Row 10 was chosen as it corresponds to the value of
"0" in a PAC (see row_map in handle_pac()).
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-18 01:34:56 +02:00
Aman Gupta
9ca9671458
avcodec/ccaption_dec: implement positioning for closed captions
...
Positioning math is based on the guidelines in https://dvcs.w3.org/hg/text-tracks/raw-file/default/608toVTT/608toVTT.html#positioning-in-cea-608
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-07-18 01:31:25 +02:00