Timothy Gu
de62531286
Merge commit 'e26c64148be8a20ace7512d96503172fb5e9753b'
...
* commit 'e26c64148be8a20ace7512d96503172fb5e9753b':
h264: discard slices of redundant pictures right after parsing the slice header
Conflicts:
libavcodec/h264_slice.c
libavcodec/h264dec.c
TODO: fix indentation
Merged-by: Timothy Gu <timothygu99@gmail.com >
2016-08-03 19:50:06 -07:00
Timothy Gu
e0c8250a59
Merge commit '6efc4638584e1e14d1a6152186ba28f5d48a80c0'
...
* commit '6efc4638584e1e14d1a6152186ba28f5d48a80c0':
h264: always set redundant_pic_count during slice header parsing
Merged-by: Timothy Gu <timothygu99@gmail.com >
2016-08-03 19:09:19 -07:00
Timothy Gu
826c780c12
Revert "Revert "Merge commit 'd1d7678040cd60148f97b372cb4291bcc45b2e22'""
...
This reverts commit e4af9be0f4 and redoes
796027f221 .
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc >
2016-08-03 17:45:52 -07:00
Timothy Gu
e4af9be0f4
Revert "Merge commit 'd1d7678040cd60148f97b372cb4291bcc45b2e22'"
...
This reverts commit 796027f221 , reversing
changes made to bca30ed2b6 .
Preemptive revert before further testing has been done.
2016-08-03 17:06:55 -07:00
Timothy Gu
796027f221
Merge commit 'd1d7678040cd60148f97b372cb4291bcc45b2e22'
...
* commit 'd1d7678040cd60148f97b372cb4291bcc45b2e22':
h264: fix the check for mixed IDR/non-IDR slices
Conflicts:
libavcodec/h264_slice.c
libavcodec/h264dec.c
Merged-by: Timothy Gu <timothygu99@gmail.com >
2016-08-03 15:59:51 -07:00
Timothy Gu
bca30ed2b6
Merge commit 'b13fc1e344011949929975a3451f78f226aa1de3'
...
* commit 'b13fc1e344011949929975a3451f78f226aa1de3':
h264: do not pass H264Context to h264_slice_header_parse()
Conflicts:
libavcodec/h264dec.h
Did not merge the h264_slice_header_parse() part. We use a few other
members of H264Context for error checking in that function.
Merged-by: Timothy Gu <timothygu99@gmail.com >
2016-08-03 15:41:59 -07:00
Timothy Gu
fd242479c6
mediacodec: Return ENOSYS on unsupported platforms
2016-08-02 22:32:12 -07:00
Timothy Gu
4e2a8c4920
jni: Return ENOSYS on unsupported platforms
2016-08-02 22:32:12 -07:00
Timothy Gu
58c7bf789f
doxygen: Standardize root-level modules
2016-08-02 22:15:25 -07:00
James Almer
613c86299f
avcodec/h264dec: move ff_h264_ps_uninit prototype to h264_ps.h
...
It's the proper place since 8c7932884d
Signed-off-by: James Almer <jamrial@gmail.com >
2016-08-03 00:36:09 -03:00
Steven Robertson
e1be80aa11
libavcodec/dnxhd: Enable 12-bit DNxHR support.
...
10- and 12-bit DNxHR use the same DC coefficient decoding process and
VLC table, just with a different shift value. From SMPTE 2019-1:2016,
8.2.4 DC Coefficient Decoding:
"For 8-bit video sampling, the maximum value of η=11 and for
10-/12-bit video sampling, the maximum value of η=13."
A sample file will be uploaded to show that with this patch, things
decode correctly:
dnxhr_hqx_12bit_1080p_smpte_colorbars_davinci_resolve.mov
Signed-off-by: Steven Robertson <steven@strobe.cc >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-08-03 03:17:32 +02:00
James Almer
efc9d5c4bc
x86/ttaenc: add ff_ttaenc_filter_process_{ssse3,sse4}
...
Signed-off-by: James Almer <jamrial@gmail.com >
2016-08-02 15:48:04 -03:00
James Almer
7a9a8afc82
avcodec/ttaenc: split off hybrid filter processing as ttaencdsp
...
Signed-off-by: James Almer <jamrial@gmail.com >
2016-08-02 15:47:38 -03:00
Paul B Mahol
82b84c71b0
avcodec/alacenc: allocate bigger packets
2016-08-02 18:41:11 +02:00
James Almer
01f0598b18
Merge commit '996f13413b0415097e2a184d161462ffb3ceb647'
...
* commit '996f13413b0415097e2a184d161462ffb3ceb647':
h264: fix warnings in fill_filter_caches_inter()
Conflicts:
libavcodec/h264_slice.c
See ef8f6464a5
Merged-by: James Almer <jamrial@gmail.com >
2016-08-01 19:11:08 -03:00
James Almer
517dd04f6d
Merge commit 'bc7f4268514624e1286ea76d27a89a56b4ee18e1'
...
* commit 'bc7f4268514624e1286ea76d27a89a56b4ee18e1':
h264: drop tests whether the codec id is AV_CODEC_ID_H264
Conflicts:
libavcodec/h264dec.c
Merged-by: James Almer <jamrial@gmail.com >
2016-08-01 18:15:07 -03:00
James Almer
fd4eb56528
Merge commit '8281cd5cb80582d668ce0848e0e035b383f161f6'
...
* commit '8281cd5cb80582d668ce0848e0e035b383f161f6':
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 '5c2fb561d94fc51d76ab21d6f7cc5b6cc3aa599c'
...
* commit '5c2fb561d94fc51d76ab21d6f7cc5b6cc3aa599c':
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 '1cf2f3d334f52849aae2be868bad1e5fa5f59aa0'
...
* commit '1cf2f3d334f52849aae2be868bad1e5fa5f59aa0':
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 'b24dafe10572254ff0decc18b0d7c3d3707d5a29'
...
* commit 'b24dafe10572254ff0decc18b0d7c3d3707d5a29':
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 '70b1dcef2d859ae6b3e21d61de928c3dd0cf1aa4'
...
* commit '70b1dcef2d859ae6b3e21d61de928c3dd0cf1aa4':
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 'f638b67e5790735f34620bf82025c9b9d6fc7216'
...
* commit 'f638b67e5790735f34620bf82025c9b9d6fc7216':
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 '4e2f6212483ae1b2a4043cddf0a1cb001b476abc'
...
* commit '4e2f6212483ae1b2a4043cddf0a1cb001b476abc':
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 '251cbb44003caf179fb17afbb8a6c56643c2a646'
...
* commit '251cbb44003caf179fb17afbb8a6c56643c2a646':
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 '9df889a5f116c1ee78c2f239e0ba599c492431aa'
...
* commit '9df889a5f116c1ee78c2f239e0ba599c492431aa':
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 'f651c6a259d4bc78f25db11d25df9256d5110bd3'
...
* commit 'f651c6a259d4bc78f25db11d25df9256d5110bd3':
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 '19446dc5fff6a2f5ccd1a73db66e266255a5d768'
...
* commit '19446dc5fff6a2f5ccd1a73db66e266255a5d768':
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 'bcd91f1644b46dd142c5355c8b742b27d9028903'
...
* commit 'bcd91f1644b46dd142c5355c8b742b27d9028903':
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 'debca90863e4ee53447efd02483c500f89766384'
...
* commit 'debca90863e4ee53447efd02483c500f89766384':
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 'f966498e433fead2f5e6b5b66fad2ac062146d22'
...
* commit 'f966498e433fead2f5e6b5b66fad2ac062146d22':
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 '54dd9b1cdd9e54f1ee39ae25af0324f8aba2831b'
...
* commit '54dd9b1cdd9e54f1ee39ae25af0324f8aba2831b':
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 '3c53627ac17fc6bdea5029be57da1e03b32d265d'"
...
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