198 Commits

Author SHA1 Message Date
Haibo Zhu
e4a4fb6577 (1) Fix the level limit check wrong condition
(2) Fix the FMO return value overflow bug
2016-03-23 11:15:26 +08:00
Sindre Aamås
b6c4a5447c [Decoder/x86] IDCT one block at a time with SSE2
At lower bitrates, it is overall faster to conditionally do one block
at a time with SSE2 on Haswell and likely other common architectures.
At higher bitrates, it is faster to use the wider routine that IDCTs
four blocks at a time. To avoid potential performance regressions
as compared to MMX, stick with single-block IDCTs with SSE2. There
is still a performance advantage as compared to MMX because the
single-block SSE2 routine is faster than the corresponding MMX
routine.

Stick with four blocks at a time with AVX2 for which that appears
to be consistently faster on Haswell.
2016-03-16 19:55:11 +01:00
Sindre Aamås
98042f1600 [Decoder] Use encoder x86 IDCT routines
Move asm routines to common. Delete obsolete decoder routines.

Use wider routines where applicable.

~1.07x overall faster decode on a quick 720p30 4Mbps test on Haswell.
2016-03-09 10:41:42 +01:00
unknown
9cb4f4e8e2 modify return value check inside decoder 2016-02-26 16:29:35 +08:00
huili2
926fc67451 remove parseonly in decoder ctx 2015-11-27 08:56:20 +08:00
huili2
dc2cbe4a22 remove API data format in decoder in 1.6 2015-11-17 13:58:57 +08:00
Haibo Zhu
628befe8be Revert "Merge pull request #2217 from huili2/simply_dec_ctx"
This reverts commit 27172bafd7ff2cc80b08768a32a23470f3d6d3fd, reversing
changes made to 24916a652ee5d3e36d931c222df20966f7c158fa.
2015-11-13 20:16:03 +08:00
huili2
777dbc09d4 remove bParseonly in ctx using that in param, and slightly modify the initialize process of decoder 2015-10-27 16:12:08 +08:00
Haibo Zhu
9ba2c9825c (1) add protection for golomb GetUe output value
(2) change the max length of cabac bypass to 16
2015-10-18 20:12:34 -07:00
HaiboZhu
fb61733b27 Merge pull request #2163 from HaiboZhu/Remove_cabac_shift_exponent_too_large
Remove the shift exponent too large warning
2015-10-16 21:16:56 +08:00
Haibo Zhu
f1d92ef363 Remove the shift exponent too large warning 2015-10-16 01:13:23 -07:00
huili2
4bafe1c430 prevent too many MMCO num overflow 2015-10-16 10:36:13 +08:00
huili2
042ac9aba1 decrease log output for decoder momery info 2015-10-12 10:53:33 +08:00
unknown
868c8e45a1 Check the duplicate frame_num in short ref list
Add more judgement for return value in WelsMarkAsRef()
2015-09-21 21:31:59 -07:00
Martin Storsjö
c31e4e23f2 Fix indentation to consistently use spaces instead of tabs
Also get rid of other stray tabs in scripts.
2015-09-15 08:41:19 +03:00
Haibo Zhu
27a9af0b09 Force reset decoder when out of memory error 2015-08-26 00:13:44 -07:00
Haibo Zhu
5ebb64cc45 Add MAX_DPB_COUNT equals to MAX_REF_PIC_COUNT + 1 to set the size of RefList
Make the reorder search range sync with JM
2015-08-13 23:54:47 -07:00
huili2
3cb417f14a add dec memory check 2015-06-16 14:17:12 +08:00
Martin Storsjö
78e0ec6130 Convert tabs to spaces before comments 2015-06-10 10:22:29 +03:00
Martin Storsjö
764793d74b Remove tabs in struct and class definitions 2015-06-10 10:22:01 +03:00
Martin Storsjö
723044837a Convert tabs to spaces in defines 2015-06-10 10:21:25 +03:00
Martin Storsjö
8796e40f89 Run astyle on a newly added function
This function previously used tabs for indentation.
2015-06-10 10:21:15 +03:00
Martin Storsjö
c2b79fa51d Convert tabs to spaces within comments 2015-06-10 10:21:13 +03:00
Martin Storsjö
c134aa753a Remove unnecessary/pointless/accidental tabs from the middle of lines of code 2015-06-03 15:39:30 +03:00
Martin Storsjö
df994fa3f5 Convert tabs to spaces in enums and tables of defines 2015-05-15 11:20:11 +03:00
Martin Storsjö
b05468b5c1 Convert tabs to spaces in multiline comments 2015-05-15 10:50:49 +03:00
Martin Storsjö
d152c25485 Remove tabs from the copyright/license section in file headers 2015-05-14 13:58:40 +03:00
Martin Storsjö
dd913ef878 Don't use tabs for indentation in multi-line macros
The astyle configuration makes sure normal code is indented consistently
with 2 spaces, but astyle doesn't seem to touch the indentation in
these multi-line macros.
2015-05-13 22:06:54 +03:00
Martin Storsjö
31a9fb6913 Remove trailing whitespace 2015-04-27 14:02:28 +03:00
Haibo
e9916c7592 Add Transform 8x8 support
Add Intra 8x8 support
Add no_deblocking support inside T8x8
Add CABAC parse support
Add static data sheet for dequant
Fix bugs and clean/astyle the code
Remove build warnings
Modify the UT cases
Fix the ParseNalHeader bug
2015-04-20 04:04:30 -07:00
huili2
20f28cd2f2 bug fix for parseonly multi-data in 2015-04-07 02:18:13 -07:00
huili2
2673f0a579 merge wels_const.h 2015-03-25 17:11:40 +08:00
huili2
88f5d1dde7 remove nal_prefix in encoder 2015-03-24 15:25:40 +08:00
huili2
403cc57dc6 merge common part of wels_common_basis 2015-03-20 12:44:00 +08:00
huili2
ed1140b846 merge bit_stream.h for encoder&decoder 2015-03-13 16:19:25 +08:00
huili2
a93e4647df remove unused as264_common.h in decoder 2015-03-10 15:48:37 +08:00
huili2
06b8e1abb7 allow slice-level data come in for parse only 2015-03-04 00:57:43 -08:00
dongzha
5b12578960 Merge pull request #1829 from syureyi/wp_p
Decoder WP support
2015-03-04 14:58:40 +08:00
zhuiling
9ef0c74fdd Decoder WP suppor
missed some part

fix clip value

update according to wayne's suggestion
2015-03-04 09:49:32 +08:00
dong zhang
153dd0d3f5 format the files 2015-03-03 09:14:27 +08:00
dong zhang
d28970d625 modify decoder log 2015-03-02 16:55:37 +08:00
sijchen
2294b786cf Merge pull request #1774 from huili2/dec_flowchart_ec
modify decoder flowchart for non vcl AU check
2015-02-27 17:44:03 +08:00
HaiboZhu
1641ce9ee5 Merge pull request #1812 from huili2/cropping_error
return error for cropping data error
2015-02-12 11:27:48 +08:00
huili2
4e9e5f5c36 Merge pull request #1794 from syureyi/monochroma
to support monochroma
2015-02-11 16:10:07 +08:00
huili2
5683393f38 return error for cropping data error 2015-02-10 22:31:24 -08:00
zhuiling
0a8a4f2284 to support monochroma
add mbtype judge logic
2015-02-04 15:00:54 +08:00
Martin Storsjö
4f237b51ef Move parts of wels_const.h into a shared header 2015-02-02 12:41:11 +02:00
Martin Storsjö
713beb7df7 Fix typos in header include guards 2015-02-02 12:41:11 +02:00
Martin Storsjö
2356eb1ff6 Move the memory allocation/deallocation routines to the common library
They are still used slightly differently in the encoder and decoder;
the decoder uses plain functions while the encoder uses one object
keeping track of the number of allocated bytes, and keeping track
of the requested alignment.
2015-01-30 11:30:59 +02:00
Martin Storsjö
869870e670 Rename the decoder WelsMalloc to WelsMallocz
This function actually zero-initializes the allocated memory, thus
make this clear in the function name.

This makes the function name match the same behaviour in the encoder.
2015-01-30 10:37:48 +02:00