Ethan Hugg
3d47b7847d
Merge pull request #358 from volvet/add_ios_encDemo
...
add encode test for iOS
2014-02-27 10:52:14 -08:00
Ethan Hugg
e5ee43173d
Merge pull request #361 from mstorsjo/get-core-count
...
Use higher level APIs for getting the number of cores if WelsCPUFeatureDetect didn't report anything
2014-02-27 10:51:17 -08:00
ruil2
9319f879e4
Merge pull request #362 from mstorsjo/encoder-default-params
...
Add a new public method for initializing SEncParamExt to default values
2014-02-27 17:38:16 +08:00
Licai Guo
573b02797b
Merge pull request #363 from huili2/remove_store_base
...
remove unused codes in reference picture management
2014-02-27 12:39:23 +08:00
Licai Guo
5303eaaeb9
remove store_ref_base_pic_flag related codes in reference picture management
2014-02-26 20:00:32 -08:00
volvet
e8ecee2616
make the makefile is indepent with the pch file
2014-02-27 09:30:35 +08:00
volvet
3544aaaaab
remove boilerplate comments
2014-02-27 09:17:24 +08:00
Martin Storsjö
c7ff8876bb
Add a new public method for initializing SEncParamExt to default values
...
This simplifies forward source compatibility when new fields are
added to SEncParamExt - when new fields are added to SEncParamExt,
this method makes sure those fields are initialized to the
default value - otherwise all API users would have to manually check
SEncParamExt every time it is updated to make sure there's no new fields
that should be set to a nonzero value by default (e.g. like
bEnableFrameSkip).
2014-02-26 22:12:11 +02:00
Martin Storsjö
6021ff3908
Refactor initializing defaults in a SEncParamExt to a separate function
2014-02-26 22:03:56 +02:00
Martin Storsjö
bb5b3978bf
Use higher level APIs for getting the number of cores if WelsCPUFeatureDetect didn't report anything
...
On processors without HTT, WelsCPUFeatureDetect can't return
a number of cores but might still return a nonzero set of
CPU feature flags. Previously the nonzero cpu feature flag
indicated that cpuid worked and the encoder wouldn't use the
higher level API for getting the number of cores, even though the
number of cores was left at 1.
2014-02-26 21:43:46 +02:00
Martin Storsjö
e239d9fddc
Fix a typo in a function pointer name
2014-02-26 21:26:54 +02:00
ruil2
cb4bc5ee28
add command line example
2014-02-26 16:58:03 +08:00
volvet
6dc1d43a5b
remove precompiled files
2014-02-26 16:26:16 +08:00
volvet
73ce4adc85
add encode test for iOS
2014-02-26 14:53:31 +08:00
ruil2
1edefc4d50
modify output help info and commands line input
2014-02-26 09:21:46 +08:00
huili2
c89a6911a0
Merge pull request #355 from licaiguo/check-sliceheader
...
add a check to parseSliceHeaderSyntaxes
2014-02-25 16:56:33 +08:00
Licai Guo
a9fd78f1e2
add a check to parseSliceHeaderSyntaxes
2014-02-25 00:47:12 -08:00
Licai Guo
fc056c7ef0
Refine structure of iOS project to fix the issue.
2014-02-25 13:46:18 +08:00
Ethan Hugg
72990e1290
Merge pull request #349 from mstorsjo/cleanup-ios-project
...
Remove unnecessary precompiled headers from the xcode projects
2014-02-24 07:44:41 -08:00
Martin Storsjö
38dbd57d36
Remove unnecessary precompiled headers
...
This reduces the huge amount of near-useless small extra files
scattered around for the sake of the platform demo projects.
This requires explicitly listing all the ncessary include paths.
2014-02-24 13:26:37 +02:00
Martin Storsjö
8c9a0bac01
Add the necessary directories to the include path within xcode
...
This is not necessary when using precompiled headers.
2014-02-24 13:24:39 +02:00
Licai Guo
3c29c92133
Merge pull request #347 from huili2/active_sps_ref_size
...
use active SPS parameters instead of other SPS.
2014-02-24 17:03:25 +08:00
huili2
ab6931496b
Merge pull request #345 from licaiguo/fix-int-conversion-warning
...
fix int conversion warning, using LD32/ST32
2014-02-24 17:02:35 +08:00
Licai Guo
2983c92e1c
use active SPS parameters instead of other SPS.
2014-02-24 00:52:17 -08:00
Licai Guo
d78f8c7ed8
fix int conversion warning, using LD32/ST32
2014-02-24 00:27:33 -08:00
Licai Guo
b7bee7af0a
refine level check
2014-02-24 00:09:40 -08:00
Licai Guo
d5e0b99372
cast to uint32_t in GET_WORD to prevent possible left shift error.
2014-02-23 22:22:13 -08:00
Licai Guo
c9a25e9494
Merge pull request #342 from volvet/rm-unsupported-para
...
remove inter spatial layer prediction in parameters
2014-02-24 13:22:16 +08:00
volvet
f4d8882d2e
remove inter spatial layer prediction in parameters
2014-02-24 11:06:09 +08:00
ruil2
470fc4288c
minor update
2014-02-24 10:55:15 +08:00
ruil2
c79e78c4fb
cleanup encoder parameters
2014-02-24 10:40:17 +08:00
huili2
abc2495f2f
Merge pull request #335 from licaiguo/decoder-syntax-checks
...
Decoder syntax checks
2014-02-24 10:35:10 +08:00
Licai Guo
265741e922
update according to review comments
2014-02-23 18:26:28 -08:00
volvet
bf0179310c
Merge pull request #340 from zhilwang/ios-support
...
Ios support
2014-02-24 09:50:10 +08:00
volvet
14acd1e663
Merge pull request #339 from mstorsjo/console-trace-param
...
Handle a -trace parameter for setting the trace level
2014-02-24 09:46:37 +08:00
Martin Storsjö
892d90175c
Handle a -trace parameter for setting the trace level
...
A similar parameter already exists in the other version of
the ParseCommandLine function.
The WelsStderrSetTraceLevel isn't one of the functions that
is exported from wels.dll (nor welsenc.dll) though, so this
doesn't work (not currently either since the function is
currently already referenced) if we would try to link to the
encoder library dynamically.
2014-02-23 00:19:56 +02:00
Martin Storsjö
b31049df89
Respect the iDLayerQp parameter in SEncParamExt
...
Previously the value set in the parameter struct was ignored
completely.
2014-02-23 00:14:39 +02:00
Martin Storsjö
08c07db3c6
Respect the loop filter disabling encoder parameter
...
Previously the loop filter was unconditionally enabled
regardless of what encoder parameter was set. If using
SEncParamBase instead, the loop filter was always disabled.
2014-02-23 00:14:39 +02:00
Martin Storsjö
8b7fb36f39
Set missed fields in ParamBaseTranscode
...
Previously, these fields kept whatever value was set by
FillDefault. The corresponding fields were set properly within
sSpatialLayers, but the fields within the main struct were left
with the default values.
This doesn't change the hashes in the unit test, since these
fields don't seem to be used in the produced bitstream at all.
2014-02-23 00:14:39 +02:00
volvet
75f8b41bcd
Merge pull request #334 from mstorsjo/cleanup-vp-interface
...
Don't use a custom calling convention for the VP library entry points
2014-02-21 17:31:34 +08:00
Licai Guo
e7ed80c428
Merge pull request #322 from volvet/PreProcessExceptionHandle
...
init the spatial last spatial picture if excption
2014-02-21 17:09:17 +08:00
Licai Guo
fee0f14732
finish syntax checks in ParseSps
2014-02-21 00:16:42 -08:00
Martin Storsjö
21e9c83746
Remove the local declarations of the VP interface functions
...
There's no need to define them manually here, the normal
declarations in IWelsVP.h work just fine even if not loading
the WelsVP library dynamically.
2014-02-21 09:32:49 +02:00
Martin Storsjö
19efc59fae
Remove the WELSAPI definition
...
There's no need to specify a custom calling convention for
these functions.
2014-02-21 09:32:46 +02:00
Licai Guo
988a192579
Modify copyright for some files
2014-02-21 14:47:01 +08:00
Licai Guo
7e57d5205e
Add decoder ios demo
2014-02-21 14:43:09 +08:00
Licai Guo
68ebf05402
Add ios build for processing
2014-02-21 14:28:22 +08:00
Licai Guo
384ce47fc0
Remove processing ios build
2014-02-21 14:26:08 +08:00
Licai Guo
3a7305c2be
Add .gitignore to iOS folder
2014-02-21 14:23:28 +08:00
Licai Guo
c66b614dd3
Initial Commit
2014-02-21 14:07:52 +08:00
Licai Guo
97947c4d01
Add ios support for common
2014-02-21 14:04:53 +08:00
Licai Guo
672a98347f
Initial Commit
2014-02-21 13:59:43 +08:00
Licai Guo
1f7f82bad4
Add ios support for encoder.
2014-02-21 13:49:49 +08:00
volvet
a783fed407
remove cgs/mgs related code, it is not supported
2014-02-21 12:57:06 +08:00
Licai Guo
5c1c1c8347
Initial Commit
2014-02-21 11:29:38 +08:00
Licai Guo
21e1e7c966
Add ios support for dec
2014-02-21 11:26:11 +08:00
Licai Guo
4e0b8d4cbf
refine checks in ParseSps
2014-02-20 19:25:11 -08:00
Licai Guo
3873b6a0f6
Initial Commit
2014-02-21 11:15:04 +08:00
volvet
25efddd745
remove quality layer configuration. It is not supported
2014-02-21 10:51:47 +08:00
volvet
2bdf6d3736
Merge pull request #325 from sijchen/writenal_refactor3
...
add encoder error code and refactor WelsWriteNal
2014-02-21 08:41:02 +08:00
Ethan Hugg
df6f92096a
Merge pull request #330 from mstorsjo/android-build-fixes
...
Android build fixes/cleanups
2014-02-20 15:39:22 -08:00
Martin Storsjö
8771e08f0f
Ignore files produced by XCode
2014-02-20 12:33:38 +02:00
Martin Storsjö
42e80cec0d
Don't use LOCAL_PATH in LOCAL_SRC_FILES
...
These files are automatically relative to the directory of the
current makefile.
2014-02-20 12:28:00 +02:00
Martin Storsjö
d9441dc793
Ignore project.properties
...
This file is autogenerated when building nowadays.
2014-02-20 09:42:52 +02:00
Licai Guo
d69b2faa9f
fix the crash issues by changing the type iMbWidth & iMbHeight.
2014-02-19 23:06:35 -08:00
sijchen
e45e859473
Squashed merge from writenal_refactor2
2014-02-20 14:50:04 +08:00
Licai Guo
42cc716395
Merge pull request #324 from volvet/add-missed-namespace-for-encoder
...
add missed namespace for encoder, remove un-used file
2014-02-20 14:46:05 +08:00
volvet
ab2e5fe207
Merge pull request #321 from licaiguo/add-android-target-option
...
Add android target option
2014-02-20 14:40:27 +08:00
volvet
e565e50d4d
add missed namespace for encoder, remove un-used file
2014-02-20 14:33:03 +08:00
Licai Guo
46b9d5d0da
Merge pull request #323 from huili2/check_bit_read
...
add safety check for bit-reading for headers
2014-02-20 14:17:07 +08:00
volvet
d6c5c138ee
init the spatial last spatial picture if excption
2014-02-20 12:50:37 +08:00
Licai Guo
538d22560f
refine android build, add TARGET option to specify target in sdk
2014-02-19 20:49:30 -08:00
Licai Guo
a921bc6589
Merge pull request #320 from huili2/mb_residual_size_check
...
remain size to prevent MB residual reading overflow
2014-02-20 11:19:57 +08:00
ruil2
3ba6a5f4da
Simplify encoder interface--remove EncoderFrame2 from interface
...
function
2014-02-20 10:33:07 +08:00
Licai Guo
65c7168d8d
Add iOS support for decoder.
2014-02-20 10:08:37 +08:00
Martin Storsjö
fe17cd5a13
Remove unnecessary commented out code in the android makefiles
...
Comments isn't a place to store code snippets that might (or
might not) be useful later.
2014-02-19 22:16:09 +02:00
Martin Storsjö
0b74eee631
Ignore files generated while building the android projects
2014-02-19 22:16:09 +02:00
Martin Storsjö
72fb054c10
Remove unused proguard config files
2014-02-19 22:16:09 +02:00
Martin Storsjö
810db4e3fd
Add a missing include directory in the android makefiles
2014-02-19 22:16:09 +02:00
Ethan Hugg
0a73155bdd
Merge pull request #306 from licaiguo/add-android-pull-clean
...
Add android Support
2014-02-19 09:59:25 -08:00
Ethan Hugg
f7758a3074
Merge pull request #312 from mstorsjo/cleanup-vp-interface
...
Avoid duplicating the IWelsVP.h header
2014-02-19 09:55:34 -08:00
Ethan Hugg
50e49f3704
Merge pull request #310 from mstorsjo/remove-unused-variables
...
Avoid declaring unused variables
2014-02-19 09:26:00 -08:00
Martin Storsjö
7acb6cd4d0
Remove the duplicated IWelsVP.h file
...
Instead have the encoder include it directly from the processing
library.
Both copies of the files were mostly identical so far.
2014-02-19 15:00:49 +02:00
Martin Storsjö
3e4e74a4d8
Remove unused include directories
2014-02-19 14:57:06 +02:00
Martin Storsjö
099595696b
Add the common processing include directories to the include path
...
This avoids using relative paths for including these files.
2014-02-19 14:42:03 +02:00
Martin Storsjö
f6a46960c9
Check a string length before doing a strncpy
2014-02-19 10:42:52 +02:00
Martin Storsjö
fd100598ab
Avoid declaring unused variables
...
Move the variable declarations within the ifdef instead.
2014-02-19 10:39:43 +02:00
Martin Storsjö
3532781556
Mark source parameters to MC functions as const
2014-02-19 10:19:56 +02:00
Martin Storsjö
ebb890e03e
Declare static functions within the file they are used/defined in
...
It does not make sense to declare but not define static functions
in a header.
2014-02-19 09:51:25 +02:00
Martin Storsjö
1a1b78e9c5
Remove unnecessary declarations of static functions
...
These functions don't need to be declared in advance at all.
2014-02-19 09:25:27 +02:00
Licai Guo
a3c38b5631
add safety check for bit-reading for headers
2014-02-18 22:55:12 -08:00
ruil2
dd93aa90b2
Merge pull request #290 from volvet/develop_b
...
Refactor CWelsPreProcess
2014-02-19 10:18:56 +08:00
volvet
bb58c5c720
correct style
2014-02-19 10:04:17 +08:00
Licai Guo
fbcf01cbbc
add missing icon files
2014-02-18 18:01:27 -08:00
Licai Guo
d058176c3b
add android support, single commit
2014-02-18 17:54:27 -08:00
ruil2
e79769fb88
Merge pull request #305 from mstorsjo/fix-encoder-param-interface
...
Don't duplicate the SEncParamExt/SEncParamBase structs for C compatibility
2014-02-19 09:12:58 +08:00
huili2
0fcd066cde
Merge pull request #298 from licaiguo/decoder-syntax-element-step1
...
add decoder syntax checks
2014-02-19 08:57:50 +08:00
Martin Storsjö
7d638f8a6b
Remove the now unused INIT_TYPE data type
2014-02-18 22:52:00 +02:00
Martin Storsjö
49f4dad1b7
Split the encoder Initialize method into two
...
This avoids the struct type casting and having to pass a parameter
that says which kind of struct it actually is.
2014-02-18 22:51:54 +02:00
Martin Storsjö
622694935b
Use SEncParamExt in ProcessEncodingSvcWithParam
...
Both FillSpecificParameters and ParseCommandLine use parameters
that don't exist in SEncParamBase.
2014-02-18 22:51:54 +02:00
Martin Storsjö
a899f05f2d
Don't have SEncParamExt inherit SEncParamBase
...
Instead just duplicate the common fields. These fields had to
be duplicated for the C interface compatibility anyway - but
this way there is no risk to accidentally introduce an ABI
break since there is no need for the layout of SEncParamBase to
actually match the start of SEncParamExt.
2014-02-18 22:51:54 +02:00
Martin Storsjö
80f5aa216a
Don't copy out the SEncParamBase, manually read the individual fields instead
2014-02-18 22:51:53 +02:00
Martin Storsjö
b6502a5406
Respect the bEnableRc field in SEncParamExt
2014-02-18 22:51:53 +02:00
Martin Storsjö
f432ddeea8
Remove a field from SWelsSvcCodingParam that already exists in SEncParamExt
2014-02-18 22:51:53 +02:00
Martin Storsjö
6d6a63a703
Mark the Initialize pointer parameter as const
...
This makes it clear to the callers that the struct will
not be modified by this call.
2014-02-18 22:51:53 +02:00
Martin Storsjö
2438b31323
Don't needlessly copy the input parameter struct
2014-02-18 22:51:53 +02:00
Martin Storsjö
bcd57f412a
Make Param*Transcode take a const reference
...
There is no need to modify the caller's struct.
2014-02-18 22:51:53 +02:00
Martin Storsjö
a1f6e158ef
Move REC_FRAME_COUNT logging into the Initialize2 method
2014-02-18 22:51:53 +02:00
Martin Storsjö
fc970418fa
Fix building with REC_FRAME_COUNT defined
2014-02-18 22:51:53 +02:00
Martin Storsjö
525ad9e7c8
Remove unnecessary checks/initialization from the Initialize method
...
Initialize2 does the same checks and initializes the same fields.
2014-02-18 22:51:53 +02:00
Martin Storsjö
1a32ae7120
Simplify the CWelsH264SVCEncoder::Initialize2 method
...
Remove the useless iInitType parameter, make the method
private within CWelsH264SVCEncoder class, give the pointer
parameter the correct type, avoiding needless casting.
2014-02-18 22:51:53 +02:00
Martin Storsjö
5cb8518306
Remove the Initialize2 function from the external API
...
This function no longer needs to be public since one can pass
SEncParamExt to the normal Initialize function.
2014-02-18 22:51:53 +02:00
Ethan Hugg
413b301e9c
Merge pull request #303 from mstorsjo/simplify-decoder-api
...
Simplify the Initialize decoder method
2014-02-18 11:27:38 -08:00
Ethan Hugg
2243467c1b
Merge pull request #304 from mstorsjo/remove-unused-variables
...
Remove completely unused variables and private fields
2014-02-18 11:26:19 -08:00
Licai Guo
24359dcde1
Merge pull request #301 from ruil2/temporal_num
...
use temporal layer num and remove gop size in external configure-- review request #94
2014-02-18 21:04:21 +08:00
Martin Storsjö
3b297ec866
Remove completely unused variables and private fields
2014-02-18 13:04:13 +02:00
Martin Storsjö
1075338b9b
Use the actual struct type instead of a void pointer to the decoder Initialize method
2014-02-18 13:00:59 +02:00
Martin Storsjö
658d1e3651
Remove the unused iInitType parameter to the decoder Initialize method
2014-02-18 13:00:45 +02:00
volvet
8435dd33af
Merge pull request #297 from licaiguo/refine-mc.cpp
...
add refine mc.cpp on decoder
2014-02-18 18:56:30 +08:00
Martin Storsjö
647fff6e2b
Remove useless ifdefs
...
This is in practice always enabled on all currently supported
platforms.
2014-02-18 11:09:28 +02:00
ruil2
f5cd56ea74
use temporal layer num and remove gop size in external configure
2014-02-18 17:06:41 +08:00
Martin Storsjö
61067d488f
Fix building with MT_DEBUG enabled after the encoder interface update
...
There is no struct named SMulSliceOption any longer.
2014-02-18 10:29:48 +02:00
Licai Guo
61b64190dd
add decoder syntax checks
2014-02-17 23:57:12 -08:00
volvet
592665a21d
Merge branch 'master' of https://github.com/cisco/openh264 into develop_b
2014-02-18 15:34:06 +08:00
ruil2
8e8972b6e8
fix build fail on osx
2014-02-18 15:16:10 +08:00
Licai Guo
d0a7f9b625
add refine mc.cpp on decoder
...
1. remove unecessary init
2. add static to constant function pointer array
2014-02-17 22:36:56 -08:00
Licai Guo
278597be2f
Merge pull request #292 from huili2/level_prefix
...
fix level_prefix too large in residual decoding
2014-02-18 14:22:30 +08:00
Licai Guo
06d3ed8ddc
Merge pull request #294 from huili2/neg_left_shift
...
negative data with left shift, use cast or multiplication instead
2014-02-18 14:21:44 +08:00
Licai Guo
f5d086eba1
merge the calculate
2014-02-17 22:16:51 -08:00
volvet
5fe3b6e362
update to the last commit: interface change
2014-02-18 14:00:42 +08:00
Ethan Hugg
287f3538d4
Merge pull request #295 from huili2/dec_api_rm_tl
...
remove unused temporal ID info in decoder API
2014-02-17 20:43:58 -08:00
Licai Guo
a810408cdc
negative data with left shift, use cast or multiplication instead
2014-02-17 19:13:41 -08:00
ruil2
35fa429fb0
encoder interface update step1
2014-02-18 09:51:47 +08:00
Ethan Hugg
3ff7e3d045
Merge pull request #291 from volvet/name_process_step
...
give right name to pre-process step1 and step3
2014-02-17 11:26:20 -08:00
Licai Guo
7bace8406e
remain size to prvent MB residual reading overflow
2014-02-17 00:47:41 -08:00
Licai Guo
b1d748294c
remove unused temporal ID info in decoder API
2014-02-16 23:57:06 -08:00
volvet
bb354d7c13
name pre-process steps
2014-02-17 14:41:37 +08:00
volvet
e61578785b
Merge pull request #286 from mstorsjo/remove-hw-decode
...
Remove stub interfaces for hw decoding
2014-02-17 13:24:21 +08:00
volvet
600a79bea6
correct code style
2014-02-17 11:46:52 +08:00
volvet
475309307c
move spatial picture related variable to CWelsPreProcess
2014-02-17 11:35:52 +08:00
volvet
488482811c
add update spatial pictures method too CWeslPreProcess
2014-02-17 10:53:46 +08:00
volvet
0a5024d176
move alloc spatial picture and free spatial picture to CWelsPreProcess
2014-02-17 10:24:56 +08:00
volvet
7f59e2f8d9
use forward declaration to replace type cast
2014-02-14 16:50:13 +08:00
Licai Guo
0d1deb578e
fix level_prefix too large in residual decoding
2014-02-13 22:51:45 -08:00
Ethan Hugg
dbb894442f
Merge pull request #284 from volvet/clean_spatial_picture_code
...
Clean spatial picture alloc code
2014-02-13 15:18:02 -08:00
Ethan Hugg
3343b1996b
Merge pull request #285 from volvet/develop_b
...
remove duplicated function
2014-02-13 14:35:37 -08:00
Martin Storsjö
55d7491f3d
Remove stub interfaces for hw decoding
...
There is no implementation available for actually doing decoding
in HW.
2014-02-13 14:21:38 +02:00
volvet
6c5b22ceff
remove duplicate function
2014-02-13 17:40:02 +08:00
Martin Storsjö
c418a76d8e
Don't try to include stdbool.h on MSVC
...
MSVC only got stdbool.h in MSVC 2013; provide a manual typedef
for this compiler instead.
The C interface test makes sure that this doesn't break the ABI.
2014-02-13 10:09:35 +02:00
volvet
b770bb80c0
Clean spatial picture alloc code
2014-02-13 12:00:02 +08:00
Martin Storsjö
ce22f84a2b
Regenerate target makefiles after the latest mktargets.py changes
2014-02-12 22:11:05 +02:00
Ethan Hugg
b51963c009
Merge pull request #219 from volvet/mozilla_bug_963392_fix
...
fix crash bug 963392 and update the print help text.
2014-02-11 09:36:59 -08:00
Martin Storsjö
29ccdebad9
Correct the plane naming within the D3D code
...
Within I420 (as the decoder outputs), the first chroma plane is
U and the second is V, and similarly, in NV12, the chroma components
are written in the order U, V.
This doesn't have any practical effect, it only makes the
variable naming while it previously was misleading.
2014-02-11 12:26:36 +01:00
volvet
d81f3d5037
Merge pull request #279 from sijchen/sad_fix2
...
fix the range of SAD
2014-02-11 10:32:58 +08:00
Martin Storsjö
83e7e7fbd9
Show the right message if no output file has been specified
...
H264DecodeInstance expects the pointer to be a null pointer if
no file has been specified.
2014-02-10 20:51:20 +02:00
Martin Storsjö
3e13874a77
Remove some needless casts by using the right data type
2014-02-10 20:51:20 +02:00
Ethan Hugg
8b8e0d4b3e
Merge pull request #274 from mstorsjo/typedef-cleanup
...
Remove typedefs for standard C++ types
2014-02-10 10:46:12 -08:00
Ethan Hugg
1e549e6f9a
Merge pull request #271 from mstorsjo/merge-asm-headers
...
Merge declarations of shared asm functions into the comon library
2014-02-10 10:40:34 -08:00
Ethan Hugg
007f5ba773
Merge pull request #258 from mstorsjo/endian-cleanup
...
Avoid endian-specific code
2014-02-10 10:36:05 -08:00
Martin Storsjö
80862eec77
Use the C++ constants true/false instead of defining our own
...
TRUE/FALSE has intentionally been left in use for the few
platform specific APIs that define these constants themselves
and expect them to be used, for consistency.
2014-02-10 08:06:37 +02:00
Martin Storsjö
f2bd22acd5
Use char instead of str_t
2014-02-10 08:06:37 +02:00
Martin Storsjö
7b96c6756e
Use void instead of void_t
...
There's really no reason for adding a typedef for void.
2014-02-10 08:06:33 +02:00
Martin Storsjö
2b77fe7f49
Use bool instead of bool_t
...
bool is one of the built in, standard types in C++, there's no need
for a typedef for it.
2014-02-10 08:05:09 +02:00
Martin Storsjö
17d7b5d72e
Use bool_t instead of BOOL_T
...
One bool typedef is already more than enough, two is too many.
2014-02-10 08:05:09 +02:00
Martin Storsjö
0f7a958ce3
Move declarations of functions in mc_chroma/luma.asm into a header in common
2014-02-10 08:05:02 +02:00
Martin Storsjö
ad209c2d14
Move declarations of functions in expand_picture.asm into a header in common
2014-02-10 08:05:02 +02:00
volvet
bf9a78085e
Merge pull request #273 from mstorsjo/remove-editor-state-file
...
Remove an MSVC resource editor state file
2014-02-10 09:08:09 +08:00
volvet
a4d9ba3feb
Merge pull request #275 from mstorsjo/fix-win64-noasm-build
...
Fix building for win64 with assembly disabled
2014-02-10 09:00:31 +08:00
Martin Storsjö
47934b3042
Fix building for win64 with assembly disabled
2014-02-09 02:19:48 +02:00
Martin Storsjö
83892ad056
Remove an MSVC resource editor state file
...
This file contains the local UI state of the resource editor,
and should not be committed to version control.
A similar file was removed earlier in c61b040
, but this one
was missed.
2014-02-08 23:40:06 +02:00
Martin Storsjö
a532c1233b
Take the missed WelsDecoderI4x4LumaPredH_sse2 function into use
...
Previously this function was never used.
2014-02-08 23:09:16 +02:00
Martin Storsjö
d0185ab253
Remove redundant /./ parts from pathnames in makefiles
...
This is mostly a cosmetic improvement for the quiet make output.
2014-02-08 18:46:52 +02:00
Ethan Hugg
c80553bfa1
Merge pull request #270 from mstorsjo/c-interface-headers
...
Include stdbool.h in the public interface headers in C mode
2014-02-08 08:42:48 -08:00
Martin Storsjö
bcd08d8713
Include stdbool.h in the public interface headers in C mode
...
This avoids requiring the callers to explicitly include it before
including codec_api.h
2014-02-08 14:37:26 +02:00
Martin Storsjö
e66ad9ab86
Remove the real32_t typedef
...
The float type is defined in standards and is portably available
on all supported compilers and platforms.
2014-02-08 14:12:03 +02:00
Martin Storsjö
d36b10fac5
Remove typedefs for float_t and double_t
...
The actual float and double data types are defined in C89 and are
usable as such without any extra typedefs.
Removing the extra typedefs simplifies the compatibility typedef
headers, simplifies portability and makes the code base easier
to work with for people new to the library.
2014-02-08 14:11:44 +02:00
Martin Storsjö
ba6bf7da18
Consistently use inline instead of __inline
...
This seemed to have been missed in 109fecc
.
2014-02-08 14:08:46 +02:00
Martin Storsjö
f252acf8a5
Remove fallback defines for NULL
...
No actual (supported) compiler lacks a definition for NULL, and it
is mandated to be present in stddef.h according to the C89 standard.
2014-02-06 10:38:15 +02:00
orbitcowboy
7d29cecc0e
cleanup variable initializations.
2014-01-31 23:13:21 +01:00
orbitcowboy
21197abe96
cleanup unused variable in codec/common/deblocking_common.cpp.
2014-01-31 23:00:30 +01:00
Martin Storsjö
8ecdcc7172
Add a make option for silencing the commands run
...
Add "V=No" to the make command to silence the make output.
This makes it easier to spot warnings or other unexpected messages
in the build output.
2014-01-30 13:56:19 +02:00
Martin Storsjö
0a14d4c79b
Make the deblocking handling endian independent
...
This avoids having to set a define indicating the endianness.
This doesn't incur any significant measurable slowdown.
2014-01-30 10:33:21 +02:00
Martin Storsjö
21687726d0
Avoid requiring byteswapping functions
...
Instead of byteswapping a 32 bit word and writing it out as a
whole (which could even possibly lead to crashes due to
incorrect alignment on some platforms), write it out explicitly
in the intended byte order.
This avoids having to set a define indicating the endianness.
2014-01-30 10:16:25 +02:00
Ethan Hugg
1e744b1933
Merge pull request #257 from mstorsjo/simplify-endian-func
...
Simplify the implementation of GetValueOf4Bytes
2014-01-29 15:25:30 -08:00
Ethan Hugg
fbcd962169
Merge pull request #256 from mstorsjo/bigendian
...
Make the library work on big endian
2014-01-29 15:24:32 -08:00
Martin Storsjö
1d2c37f7de
Simplify the implementation of GetValueOf4Bytes
...
What the two different implementations currently do is simply
to write a 32 bit number, in the native endianness, into the
given buffer.
The actual purpose of this function is still unknown though,
it can be removed completely without breaking decoding - it
is possibly a remnant from earlier functionality in the
decoder.
2014-01-29 22:44:42 +02:00
Martin Storsjö
cadbec75d8
Fix shifting tricks in deblocking for big endian
...
The code interprets an array of 4 uint8_t values as one uint32_t
and does shifts on the value. The same optimization can be
kept in big endian as well, but the shift has to be done in the
other direction.
This code could be made truly independent of endianness, but
that could cause some minimal performance degradaion, at least
in theory.
This makes "make test" pass on big endian, assuming that
WORDS_BIGENDIAN is defined while building.
2014-01-29 22:30:33 +02:00
Martin Storsjö
47ec78843a
Don't read an uint8_t array as an uint32_t
...
This makes the code work properly on big endian.
The MC case is similar to how it's done in the encoder.
Neither of these should have any significant performance
impact.
2014-01-29 22:27:55 +02:00
Martin Storsjö
66c39a4fd4
Remove the array_stack_align.h header from the encoder lib
...
All of these macros are already available in the common
macros.h header. Unify all the macros to be named ENFORCE_*
instead of mixed FORCE/ENFORCE.
2014-01-29 22:07:52 +02:00
Martin Storsjö
b2178aacc0
Fix a typo in a directory name
2014-01-29 10:29:53 +02:00
Ethan Hugg
ec576baf25
Merge pull request #249 from mstorsjo/encconsole-arg-parsing-ifdef
...
Fix parsing of the -drec option if ENABLE_FRAME_DUMP isn't set
2014-01-28 11:05:31 -08:00
Ethan Hugg
b58bf88b44
Merge pull request #247 from mstorsjo/simplify-missed-inline-asm-macro
...
Unify the codepaths for WELS_GET_PERFIX_BITS at the second place
2014-01-28 11:04:50 -08:00
Ethan Hugg
08638a9396
Merge pull request #252 from mstorsjo/share-processing-asm
...
Merge identical assembly code between the processing and encoder libs
2014-01-28 11:04:12 -08:00
Ethan Hugg
3c40261256
Merge pull request #251 from mstorsjo/crt-string-cleanup
...
Clean up the rest of the usage of crt_safe_util_x
2014-01-28 09:42:56 -08:00
Ethan Hugg
0d7bafcebc
Merge pull request #248 from mstorsjo/msvc-proj-cleanup
...
MSVC project file warning cleanup
2014-01-28 09:40:17 -08:00
Martin Storsjö
04dba61d22
Remove an unused assembly source file
...
Nothing within processing uses functions from this file.
2014-01-28 13:55:41 +02:00
Martin Storsjö
3761901ed4
Remove sad.asm from the processing lib, move satd_sad from the encoder to the common lib
...
sad.asm as used in processing is an exact subset of the
code in satd_sad.asm in the encoder.
2014-01-28 13:54:57 +02:00
Martin Storsjö
e0da5a1686
Remove the now unused STRCAT macro
2014-01-28 12:43:22 +02:00
Martin Storsjö
208f033bcd
Use WelsStrcat instead of the STRCAT macro
2014-01-28 12:43:22 +02:00
Martin Storsjö
903f265965
Fix a format string to use the correct type
2014-01-28 12:42:01 +02:00
Martin Storsjö
5c5dcfb14c
Remove an unused global variable and commented out code
2014-01-28 12:36:54 +02:00
Martin Storsjö
fa93c88fa2
Implement WelsStrcat based on WelsStrncpy
...
This is a more convenient behaviour (truncating on overflow and
always null terminating the buffer) compared to the MSVC
safe strcat_s which aborts the process if the string doesn't fit
into the target buffer.
Also mark the source buffer as const in the function prototype.
2014-01-28 12:27:22 +02:00
Martin Storsjö
9840f11784
Remove the now unused count parameter to WelsStrncpy
...
Also remove manual null termination as WelsStrncpy now always
takes care of it.
2014-01-28 12:13:11 +02:00
Martin Storsjö
a16ccc0b4d
Fix the implementations of WelsStrncpy
...
Make the MSVC "safe" version truncate instead of aborting the
process if the buffer is too small.
Update all the other functions to use the right parameter
(iSizeInBytes, not iCount) as 'n' parameter to strncpy.
(By passing iCount as parameter to the normal strncpy functions,
it meant that the resulting buffer actually never was null
terminated.)
Additionally make sure that the other implementations of WelsStrncpy
always null terminate the resulting buffer, just as the MSVC safe
version does when passed the _TRUNCATE parameter.
2014-01-28 12:08:35 +02:00
Martin Storsjö
74e7c9b6d8
Remove the now unused STRNCPY macro
2014-01-28 12:06:07 +02:00
Martin Storsjö
215eb56453
Use WelsStrncpy instead of STRNCPY
2014-01-28 12:05:28 +02:00
Martin Storsjö
7791a6d28d
Use WelsSnprintf instead of a combination of strlen and STRNCAT
...
This simplifies the code and makes the buffer size checks
more consistent. Additionally, the previous version wrote
the extra space character without checking if it actually fit
into the buffer.
2014-01-28 12:00:04 +02:00
Martin Storsjö
0318922654
Check the right pointer for being non-null in WelsLogDefault
...
In case the log level was invalid, GetLogTag returns null.
Checking pCtx doesn't make sense since nothing within the
if block uses pCtx.
2014-01-28 12:00:04 +02:00
Martin Storsjö
9b59153263
Remove the STRNLEN/WelsStrnlen compatibility functions
...
These were essentially useless - if strlen() ever was used as
fallback, it either indicated that those ports of the library
were insecure, or that strnlen never was required at all.
In this case it turned out to be the latter (at least after
the preceding cleanups) - all uses of it were with known null
terminated strings.
2014-01-28 12:00:04 +02:00
Martin Storsjö
19f03d6a26
Fix parsing of the -drec option if ENABLE_FRAME_DUMP isn't set
...
If the define wasn't set, the argument iterator didn't skip
the file name argument.
2014-01-28 11:46:27 +02:00
Martin Storsjö
92fa4eb400
Use strlen instead of WelsStrnlen/STRNLEN for known null terminated strings
...
strlen is not dangerous if the string is known to be null
terminated (and MSVC does not warn about its use either).
For the cases in the decoder welsCodecTrace.cpp, the string
passed to all WriteString instances is produced by WelsVsnprintf
which always null terminates the buffer nowadays.
Additionally, as the string was passed to OutputDebugStringA
without any length specifier before, it was already assumed to
be null terminated.
The file name parameter passed to DumpDependencyRec and
DumpRecFrame in encoder.cpp is always null terminated,
which was already assumed as it is passed to WelsFopen as is.
As for the encoder utils.cpp, the strings returned by GetLogPath
are string constants that are null terminated.
2014-01-28 11:40:54 +02:00
Martin Storsjö
082a986990
Use strlen() instead of WelsStrnlen/STRNLEN for string constants
...
A string constant is guaranteed to be null terminated, and thus
doesn't need to use a version of strlen with a fixed buffer size
limit.
2014-01-28 11:38:26 +02:00
Martin Storsjö
da7d3d9bad
Remove an unused and unnecessary string length calculation
...
This is unused since 771ff739b
.
2014-01-28 11:38:22 +02:00
Martin Storsjö
8a0bc0a8b9
Don't pass /LTCG to the linker for the console front end binary
...
The object files for this tool aren't built with the /GL flag
(Whole Program Optimization), leading to the following warning
when linking:
/LTCG specified but no code generation required; remove /LTCG from
the link command line to improve linker performance
Enabling link time code generation for the console front end binary
isn't of much use, since this tool in itself isn't performance
critical.
2014-01-28 11:01:54 +02:00
Martin Storsjö
e306888d0c
Unify the codepaths for WELS_GET_PERFIX_BITS at the second place
...
This changes a second use of the macro which was missed in
60e0255677
.
This avoids warnings about unused local variables in 64 bit
builds in MSVC.
2014-01-28 11:00:20 +02:00
Martin Storsjö
3316938ae4
Enable incremental linking in debug configurations of WelsDecPlus
...
This avoids the following warning when linking:
LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification
2014-01-28 10:30:46 +02:00
Ethan Hugg
4334812eee
Merge pull request #235 from mstorsjo/merge-ls-defines
...
Merge the ls_defines.h headers into the common sub-library
2014-01-27 14:10:00 -08:00
Ethan Hugg
00a76419b4
Merge pull request #237 from mstorsjo/simplify-make-lib-rules
...
Simplify the make rules for creating libraries
2014-01-27 14:09:20 -08:00
Ethan Hugg
d9cbe19110
Merge pull request #240 from mstorsjo/simplify-inline-asm
...
Unify the fallback codepath for getting prefix bits into a macro
2014-01-27 13:07:38 -08:00
Ethan Hugg
5616ddb3a5
Merge pull request #242 from mstorsjo/simplify-debug-file-locations
...
Simplify debugging code by always writing trace files to the current directory
2014-01-27 13:04:29 -08:00
Ethan Hugg
990a71dce7
Merge pull request #244 from mstorsjo/remove-unused-files
...
Removed an unused pair of files generated by MSVC project wizards
2014-01-27 13:03:17 -08:00
Ethan Hugg
b00523329f
Merge pull request #243 from mstorsjo/use-stdio-wrappers
...
Consistently use the compat wrappers for file IO
2014-01-27 13:02:51 -08:00
Martin Storsjö
d36939580a
Removed an unused pair of files generated by MSVC project wizards
...
These files aren't actually even referenced by the MSVC project
files.
2014-01-27 22:55:33 +02:00
Martin Storsjö
3559f425b4
Consistently use the compat wrappers for file IO
...
As long as WelsFileHandle* is equal to FILE* this doesn't matter,
but for consistency use the WelsF* functions for all handles
opened by WelsFopen, and use WelsFileHandle* as type for it
instead of FILE*.
2014-01-27 22:49:41 +02:00
Martin Storsjö
98614924e2
Remove the now meaningless field sTracePath
2014-01-27 22:37:11 +02:00
Martin Storsjö
771ff739b6
Simplify debugging code - always write debug trace files to the cur directory
...
This reduces the amount of platform ifdefs.
2014-01-27 22:36:50 +02:00
Martin Storsjö
60e0255677
Unify the fallback codepath for getting prefix bits into a macro
...
This avoids having to know the details about when the optimized
codepath is available at the place where it's used.
2014-01-27 22:30:00 +02:00
Martin Storsjö
55717d3fb8
Remove an unused function for byte order swapping
2014-01-27 22:18:23 +02:00
Ethan Hugg
e17e664e1a
Merge pull request #239 from mstorsjo/remove-unnecessary-calls
...
Remove some unnecessary STRNCPY/WelsStrncpy calls and intermediate buffers
2014-01-27 11:50:19 -08:00
Ethan Hugg
e05b607daa
Merge pull request #223 from mstorsjo/typedef-cleanup
...
Clean up typedefs within the libraries
2014-01-27 11:46:44 -08:00
Martin Storsjö
ec20ab58ef
Remove some unnecessary STRNCPY/WelsStrncpy calls and intermediate buffers
2014-01-27 20:00:15 +02:00
Martin Storsjö
2bcadff204
Use WelsGetTimeOfDay and WelsStrftime instead of LOCALTIME/FTIME/strftime
2014-01-27 19:20:45 +02:00
Martin Storsjö
0439392a79
Fix a typo Millsecond -> Millisecond
2014-01-27 19:20:27 +02:00
Martin Storsjö
3a5ff9b6c8
Use WelsVsnprintf instead of VSPRINTF
2014-01-27 19:18:36 +02:00
Martin Storsjö
f6fe4ddeaa
Use WelsSnprintf instead of SNPRINTF
2014-01-27 19:18:36 +02:00
Ethan Hugg
6fea084a42
Merge pull request #234 from mstorsjo/merge-measure-time
...
Move the measure_time.h header to the common library
2014-01-27 08:57:16 -08:00
Ethan Hugg
2a55578a98
Merge pull request #208 from mstorsjo/remove-unused-mk-field
...
Remove an unnecessary field from generated makefiles
2014-01-27 08:55:23 -08:00
Ethan Hugg
d5affbaa3c
Merge pull request #232 from mstorsjo/merge-fopen-wrappers
...
Remove the FOPEN macro, use WelsFopen instead
2014-01-27 08:54:20 -08:00
Ethan Hugg
5a8f5f9ad1
Merge pull request #233 from mstorsjo/snprintf-fixes
...
Make the *snprintf (and similar) functions always null terminate the buffer properly on all platforms
2014-01-27 08:52:37 -08:00
Ethan Hugg
dacd6735fb
Merge pull request #230 from mstorsjo/remove-legacy-make
...
Remove the legacy makefile based build system
2014-01-27 07:59:03 -08:00
Ethan Hugg
fbf7836b8d
Merge pull request #236 from mstorsjo/msvc-proj-moved-headers
...
Update the MSVC project files for earlier moved/removed files
2014-01-27 07:56:25 -08:00
Ethan Hugg
f3afcd51ff
Merge pull request #231 from mstorsjo/fix-msvc-build
...
Readd a removed include
2014-01-27 07:54:29 -08:00
Martin Storsjö
ea8a00278f
Simplify the make rules for creating libraries
2014-01-27 14:45:18 +02:00
Martin Storsjö
ea333863ee
Update the MSVC project files for earlier moved/removed files
2014-01-27 14:23:22 +02:00
Martin Storsjö
a44808e276
Merge the ls_defines.h headers into the common sub-library
2014-01-27 14:14:41 +02:00
Martin Storsjö
11bdd8adad
Move the measure_time.h header to the common library
...
Both encoder and decoder versions were functionally equivalent,
but I picked the decoder version (but added the static inline
keywords to it) since the encoder one was quite messy with a lot
of commented out code.
2014-01-27 12:58:23 +02:00
Martin Storsjö
c7b74b2b12
Make sure the buffer is null terminated after strftime
...
If the buffer is too small, there's no guarantee that it is
null terminated. The docs (on both unix and MSVC) say explicitly
that the function returns 0 and the buffer contents are
indeterminate in this case.
2014-01-27 12:07:00 +02:00
Martin Storsjö
7884e77b2d
Make sure the buffer always is null terminated in the *snprintf calls for old MSVC
...
These functions leave the buffer unterminated in case it was too
small.
2014-01-27 12:06:24 +02:00
Martin Storsjö
4a8f54d767
Use vsnprintf in the old MSVC version of WelsSnprintf as well
2014-01-27 12:06:08 +02:00
Martin Storsjö
0ce42ffb89
Rename WelsVsprintf to WelsVsnprintf, to indicate that it actually checks the length
2014-01-27 12:05:53 +02:00
Martin Storsjö
e42e82aa1f
Make WelsVsprintf use vsnprintf, to check the buffer size
...
Otherwise builds on platforms other than MSVC might be
insecure.
Use vsnprintf_s with the _TRUNCATE flag instead of vsprintf_s
when using MSVC - this truncates the buffer instead of aborting
the whole process in case it's too small.
2014-01-27 12:05:39 +02:00
lyao2
00948873fb
fix spell error of RcInitGoomParameters
2014-01-27 17:29:24 +08:00
Martin Storsjö
c174dcd652
Remove the FOPEN macro, use WelsFopen instead
...
This avoids ifdefs at each place the macro is used.
2014-01-27 10:29:05 +02:00
Martin Storsjö
febf6bb51e
Readd a removed include
...
This fixes builds without NO_DYNAMIC_VP (such as with the MSVC
project files), the include was removed in d809b7e9
.
2014-01-27 10:25:32 +02:00
volvet
33fe2b5883
Merge pull request #225 from mstorsjo/simplify-ifdefs
...
Simplify ifdefs in measure_time.h
2014-01-27 00:14:44 -08:00
Martin Storsjö
b468ed3c0b
Unify the declaration of int8_t within the processing lib with the rest
...
int8_t in general should to be defined as signed char, since there
are actual envrionments where a plain 'char' is unsigned.
This also reduces the differences between the typedef headers of
the different sub-libraries.
2014-01-27 08:44:48 +02:00
Martin Storsjö
a24fd5e120
Make the bool_t typedef in the processing lib match the others
...
There is no specific reason to use int32_t for this type.
2014-01-27 08:44:48 +02:00
Martin Storsjö
09f0254d5e
Remove the now unused long_t typedef
2014-01-27 08:44:48 +02:00
Martin Storsjö
cc4507462b
Use int32_t instead of long_t in WELS_SIGN/WELS_ABS in the processing lib
...
This makes them match the same macros in the main decoder/encoder
libraries. long_t (which is typedeffed to long) actually is 64
bit on 64 bit unix platforms, which might not be what was
intended.
2014-01-27 08:44:48 +02:00
Martin Storsjö
0339cd51c5
Unify the definition of WELS_THREAD_ERROR_CODE between libraries
...
This simplifies the code base, reduces the risk for mixups and
gets rid of the use of a local nonstandard typedef.
2014-01-27 08:44:48 +02:00
Martin Storsjö
109fecc547
Consistently use inline instead of __inline
2014-01-27 08:44:48 +02:00
Martin Storsjö
98dd2d91d9
Use 'inline' instead of 'inline_t' in the processing lib
...
Just use the standard inline keyword with sufficient backwards
compatibility defines, similar to how it is done in the main decoder
and encoder libraries.
2014-01-27 08:44:48 +02:00
volvet
cbe650a3e5
Merge pull request #227 from mstorsjo/snprintf-fixes
...
Fix handling of snprintf return values and buffer size calculations
2014-01-26 22:26:38 -08:00
Martin Storsjö
30bcfea6b8
Simplify ifdefs in measure_time.h
...
Instead of using "defined(MSC_VER) || defined(__MINGW32__)" to
indicate the windows platform, just check for the _WIN32 define
instead.
Also remove an unused codepath - the removed codepath would
only be used under the condition
"(defined(MSC_VER) || defined(__MINGW32__)) && !defined(_WIN32)",
and I'm not aware of any environment with MSVC or MinGW that
doesn't define _WIN32, thus this codepath never was used.
2014-01-27 08:08:23 +02:00
Martin Storsjö
076b1116d6
Fix calculating buffer positions when appending with SNPRINTF/WelsSnprintf
...
This fixes two separate issues.
First, with the MSVC _snprintf implementations, the return value
is negative if the buffer wasn't large enough - this would in
the worst case lead to making iBufferUsed negative, writing before
the start of the buffer.
Secondly, when both iBufferUsed and iBufferLeft are accumulated,
one can't do "iBufferLeft -= iBufferUsed;". As an example,
say the buffer is 100 bytes in total and iBufferLeft is 40 and
iBufferUsed is 60. If SNPRINTF then writes 5 more bytes to the
buffer, iBufferUsed would be 65, but if we now do
"iBufferLeft -= iBufferUsed;" then iBufferLeft would end up as
-25 even though there's 35 bytes left in the buffer to use.
Therefore, we use a separate variable to store the return value
from the latest SNPRINTF call. This is checked to make sure it
wasn't negative, and only this amount is added to iBufferUsed
and subtracted from iBufferLeft.
This is the same pattern used in codec/encoder/core/src/utils.cpp.
strftime never returns negative numbers, so those calls don't
need as much checking.
2014-01-27 08:03:56 +02:00
Martin Storsjö
a344d100ae
Fix buffer size checks when appending using SNPRINTF/WelsSnprintf
...
Checking iBufferLeft > iBufferUsed does not make sense, since
this would stop writing into the buffer alredy after the buffer
is half full, when there is less space left than has been used.
The right check is iBufferLeft > 0.
2014-01-27 08:03:56 +02:00
Martin Storsjö
98bad4f2b3
Don't manually null terminate after calling SNPRINTF
...
The following pattern is unsafe on all platforms:
n = SNPRINTF(buf, ...);
buf[n] = '\0';
On windows, the _snprintf variants return a negative number
if the buffer was too small, thus buf[n] would be outside
of (before the start of) the buffer.
On other platforms, the C99 snprintf function returns the
total number of characters which would have been written if
the buffer had been large enough, which can be larger than
the buffer size itself, and thus buf[n] would be beyond the
end of the buffer.
The C99 snprintf function always null terminate the buffer.
These invocations of SNPRINTF are within !WIN32, so we can
be sure that the SNPRINTF call itself already null terminated
the buffer.
2014-01-27 08:03:56 +02:00
Martin Storsjö
2f5f25b7e3
Merge the encoder/decoder crt_util_safe_x.h into the common lib
2014-01-27 08:03:03 +02:00
Ethan Hugg
55336dee64
Merge pull request #221 from mstorsjo/freebsd
...
Update building on FreeBSD
2014-01-26 20:41:11 -08:00
Ethan Hugg
b401098a67
Merge pull request #216 from varunbpatil/processing_cleanup
...
Removed unused header files in processing src
2014-01-26 20:35:32 -08:00
Ethan Hugg
627c1558ae
Merge pull request #215 from varunbpatil/dec_core_cleanup
...
Removed unused headers in decoder core
2014-01-26 20:09:19 -08:00
Ethan Hugg
36054ac2a2
Merge pull request #212 from varunbpatil/enc_core_cleanup
...
Removed unused header files in encoder core
2014-01-26 19:24:35 -08:00
kali2
fa91f77b1b
Merge pull request #214 from licaiguo/fix-rpl
...
fix reference picture modification bug -- review #67
2014-01-26 19:24:25 -08:00
volvet
488cc4ec8e
Merge pull request #228 from mstorsjo/remove-hardcoded-path
...
Remove a hardcoded debug path specific to somebody's environment
2014-01-26 18:17:31 -08:00
volvet
5ac52e31e9
Merge pull request #224 from mstorsjo/msvc2005
...
Fix building on MSVC 2005
2014-01-26 17:51:44 -08:00
Martin Storsjö
7394254fb5
Remove the legacy makefile based build system
...
The new one is much more flexible. The old one is unmaintained.
2014-01-26 16:28:58 +02:00
Martin Storsjö
2963f4ab6e
Remove a hardcoded debug path specific to somebody's environment
...
Instead of using platform specific paths, just use the local
directory instead, reducing the amounts of ifdefs.
2014-01-26 15:22:41 +02:00
Martin Storsjö
e1d96aeaf3
Fix the old MSVC version of WelsGetTimeOfDay
...
The _ftime function returns void.
This fixes building on MSVC 2005.
2014-01-26 10:52:08 +02:00
volvet
d67fbe74ce
Merge pull request #213 from licaiguo/update-resolution
...
change resolution update logic -- review #66
2014-01-26 00:51:35 -08:00
Martin Storsjö
8062596d23
Fix building threading for freebsd
...
FreeBSD (and at least NetBSD as well) still use hw.ncpu without
deprecating it, contrary to apple.
2014-01-26 10:40:24 +02:00
Varun B Patil
e459b91412
Removed unused headers in decoder core
2014-01-26 12:00:57 +05:30
Varun B Patil
d809b7e9ee
Removed unused headers in encoder core
2014-01-26 11:28:17 +05:30
volvet
84f6602120
1 fix crash bug 963392, 2 update help print: the max supported gop size should be 8
2014-01-26 13:35:31 +08:00
Varun B Patil
7dbdfbcef8
Use correct format specifier to avoid compiler warnings
2014-01-26 00:47:50 +05:30
Varun B Patil
77f47edf3b
include ifdef guard
2014-01-25 18:08:15 +05:30
Varun B Patil
7c6445418b
Removed unused header files in processing src
2014-01-25 15:39:05 +05:30
volvet
8420fd3454
Merge pull request #210 from mstorsjo/cleanup-macros
...
Cleanup the common/macros.h header
2014-01-25 01:05:27 -08:00
licaiguo
058ceb369f
fix reference picture modification bug
2014-01-25 16:37:22 +08:00
licaiguo
1a2dd0c1f1
change resolution update logic
2014-01-25 16:12:52 +08:00
volvet
a1c491499f
Merge pull request #204 from mstorsjo/remove-dynamic-load-trace
...
Remove code for dynamically loading a trace library
2014-01-24 22:32:58 -08:00
Ethan Hugg
58c33b8ee8
Merge pull request #205 from mstorsjo/cleanup-trace
...
Remove the unused dllname parameter to the trace function
2014-01-24 10:46:51 -08:00
Ethan Hugg
c335d1f1be
Merge pull request #206 from mstorsjo/function-pointer-cleanup
...
Avoid mismatches in function pointer assignments
2014-01-24 10:42:01 -08:00
Ethan Hugg
d821fbfd1c
Merge pull request #202 from mstorsjo/remove-extra-msvc-projects
...
Remove unused/superfluous MSVC project files
2014-01-24 09:48:00 -08:00
Martin Storsjö
89f2c8bf7c
Remove a duplicate median function
...
The decoder used WelsMedian while the encoder used WELS_MEDIAN.
The former has two different implementations, WELS_MEDIAN was
identical to the disabled version of WelsMedian.
Settle on using the same implementation for both decoder and
encoder - whichever version of the implementations is faster
should be used for both.
2014-01-24 15:57:11 +02:00
Martin Storsjö
95ed830342
Clarify ifdefs around implementations of ENDIAN_FIX
2014-01-24 15:57:11 +02:00
Martin Storsjö
af76ec0a6b
Bundle all MSVC/GCC alignment macros together
...
This reduces the number of lines spent on having the same
ifdef conditions over and over.
2014-01-24 15:57:11 +02:00
Martin Storsjö
9d16e0f897
Remove an unnecessary define of inline for APPLE_IOS
...
The standard inline keyword is supported just fine when building
for iOS, there's no need to define it there.
2014-01-24 15:57:11 +02:00
Martin Storsjö
d932509994
Move the definition of WELS_ALIGN out from the #if
...
Both versions of WELS_ALIGN are identical, so there's no need to
be able to switch between the two.
2014-01-24 15:57:11 +02:00
Martin Storsjö
232ba77a1e
Remove some unused macros
2014-01-24 15:57:10 +02:00
Martin Storsjö
cfe4e0e2f8
Remove duplicate defines
...
These are defined identically just a few lines above.
2014-01-24 15:50:26 +02:00
Martin Storsjö
0f18b31d91
Remove unused defines of __FASTCALL
2014-01-24 15:50:26 +02:00
Martin Storsjö
7df69c1482
Remove an unnecessary field from generated makefiles
2014-01-24 15:02:40 +02:00
Martin Storsjö
fd44db01f6
Fix a typo, "vender" -> "vendor"
2014-01-24 15:01:31 +02:00
Martin Storsjö
44dfad2217
Make the function signatures actually match when used as function pointer
...
Hiding the function signature mismatch with a cast can lead to
more concrete breakage being missed.
2014-01-24 14:51:44 +02:00
Martin Storsjö
d1341554dd
Remove an unnecessary cast when setting function pointers
...
By removing the casts we make sure that the function signature
actually matches and isn't silenced by the cast.
2014-01-24 14:50:39 +02:00
Martin Storsjö
325dd1ce32
Make a function typedef actually use the right type
...
All functions that are assigned to function pointers with this
typedef (WelsHadamardQuant2x2Skip_c and WelsHadamardQuant2x2Skip_mmx)
use int32_t instead of BOOL_T for the return value.
2014-01-24 14:50:31 +02:00
Martin Storsjö
1f5d786d6a
Remove the unused dllname parameter to the trace function
2014-01-24 12:04:29 +02:00
Martin Storsjö
dd7911bfe7
Remove code for dynamically loading a trace library
...
No code exists within the project for building such a trace library.
This also fixes building on OS X with -Wno-deprecated-declarations
removed, since this code contained calls to deprecated functions
within #ifdef MACOS, which now are enabled when building on OS X.
2014-01-24 11:44:19 +02:00
Martin Storsjö
0d99d8102e
Remove the MSVC solution for WelsVP
...
This isn't necessary, it can be built via the encoder solution.
2014-01-24 09:32:54 +02:00
Martin Storsjö
bdf3465a7e
Remove the unused solution and project files for WelsVideoProcessor
...
These are for building source files that aren't present in the
project any longer.
2014-01-24 09:32:54 +02:00
Martin Storsjö
aa0b2896e1
Remove the 2010 and 2012 MSVC project files from WelsVP as well
...
The corresponding files for the decoder and encoder were
removed in ccca04453a
. The 2008 version can be imported into
MSVC 2010 and 2012 just fine, reducing the amount of project files
to keep in sync.
2014-01-24 09:32:22 +02:00
Martin Storsjö
20478d4733
Remove MSVC solution user state files that shouldn't be version controlled
2014-01-24 09:31:45 +02:00
Martin Storsjö
e0d45682d3
Add the include dirs for cpu.h to the 32 bit build targets as well
2014-01-23 23:47:12 +02:00
Martin Storsjö
42623deafb
Update the project file after removing util.cpp
2014-01-23 23:47:08 +02:00
Martin Storsjö
1a51a1042f
Fix 32 bit assembly build with the MSVC project files
2014-01-23 23:47:03 +02:00
Martin Storsjö
c61b040c11
Remove an MSVC resource editor state file
...
This file contains the local UI state of the resource editor,
and should not be committed to version control.
2014-01-23 22:55:36 +02:00
Martin Storsjö
eaf95566ea
Remove an unused function wrapping a standard function
...
This allows removing a whole file.
2014-01-23 22:55:36 +02:00
Martin Storsjö
aec2ed30cd
Simplify an ifdef
...
We don't need to check both platform and compiler at the same time,
checking the compiler is enough here.
2014-01-23 22:55:36 +02:00
Ethan Hugg
e55d777d17
Merge pull request #191 from zhilwang/fix-decoder-win64-asm-issues
...
Fix decoder win64 asm issues
2014-01-23 10:47:13 -08:00
Ethan Hugg
63c03b10b4
Merge pull request #194 from volvet/remove_MEMORY_REQUEST_ALIGN_BYTES
...
remove MEMORY_REQUEST_ALIGN_BYTES
2014-01-23 10:25:27 -08:00
Ethan Hugg
9b0fb562cd
Merge pull request #195 from mstorsjo/disable-cpufeature-logging
...
Only print detected cpu info when in debug mode
2014-01-23 10:13:53 -08:00
Martin Storsjö
3cacaf85f1
Include the executable suffix within make
...
This makes sure that e.g. "make clean" actually removes
the built exe files, and avoids relinking the exe files each
time make is run when cross compiling from linux to windows.
(Make on windows seems to have an exception that knows to skip
rebuilding the 'h264enc' target if 'h264enc' doesn't exist but
'h264enc.exe' does, but this exception doesn't work on normal
unix make.)
2014-01-23 16:15:22 +02:00
Martin Storsjö
edc6aa8fa2
Only print detected cpu info when in debug mode
...
The ifdef guards from this block were (accidentally?) commented
out in ec84f4bc
.
2014-01-23 14:47:37 +02:00
volvet
277242b3a0
remove MEMORY_REQUEST_ALIGN_BYTES
2014-01-23 17:21:13 +08:00
Licai Guo
fc56c7d007
1. use WELS_CLIP1 to replace table look-up;
...
2. fix bugs about buffer overflow
3. add more boundary checks
2014-01-23 00:07:21 -08:00
ruil2
99412b0fc2
Merge pull request #167 from licaiguo/fix-961370
...
fix 961370 -- review request #50
2014-01-22 23:52:30 -08:00
Licai Guo
493c31f6a6
Merge pull request #174 from volvet/coverity_issue_fix
...
fix coverity issues 26973, 26974, 26975, 26976, 26972, 26980.
2014-01-22 23:50:47 -08:00
Martin Storsjö
8583e13e34
Clear the executable bit on source files
2014-01-23 09:30:50 +02:00
huili2
f149843f7a
Merge pull request #190 from licaiguo/add-level-limits
...
Add level limits for decoder
2014-01-22 22:56:39 -08:00
kali2
c0e72338c1
Merge pull request #188 from ruil2/MaxGOPSize_update
...
update Max GOP size and minor fixes for early return-- review request#59
2014-01-22 22:48:41 -08:00
Licai Guo
fe2fa96bcb
update vs project files
2014-01-22 22:14:31 -08:00
Licai Guo
def55c141e
fix decoder win64 asm float issues
2014-01-22 19:01:51 -08:00
ruil2
ca6c00ba18
Merge pull request #168 from licaiguo/fix-960932
...
fix 960932 by add boundary checks on run_before -- review request #51
2014-01-22 18:59:40 -08:00
Licai Guo
8e201827f4
remove blank lines
2014-01-22 18:48:19 -08:00
Licai Guo
34300be44f
add change from master
2014-01-22 18:41:27 -08:00
Licai Guo
9a875532fd
add level limits
2014-01-22 18:35:50 -08:00
Licai Guo
e8fc798d02
add parentheses
2014-01-22 18:27:46 -08:00
ruil2
9efbef67b9
Merge pull request #153 from licaiguo/fix-empty-packets
...
fix crash caused by empty packets and add more checks -- review request #44
2014-01-22 17:44:05 -08:00
Ethan Hugg
256cd0f610
Merge pull request #172 from volvet/win64_float_fix_for_enc_b
...
fix win64 float issue, enable AQ assembly
2014-01-22 17:25:03 -08:00
Ethan Hugg
691e8379b5
Merge pull request #184 from mstorsjo/c-interface-vtbl
...
Add a public C API to the library by mimicking the C++ ABI with a C struct
2014-01-22 08:11:40 -08:00
Ethan Hugg
99565beb81
Merge pull request #181 from mstorsjo/threadlib-update-macos-linux
...
Update the cpu core count detection functions for linux and mac os
2014-01-22 08:09:39 -08:00
ruil2
0a5f4354e9
minor fixes for writting format
2014-01-22 16:09:20 +08:00
volvet
c4f0159620
Merge pull request #187 from licaiguo/fix-coverage-scan
...
fix issues found by coverage scan -- review request #58
2014-01-22 00:07:02 -08:00
Licai Guo
ff5e6dde2a
remove unnecessary return
2014-01-21 23:56:39 -08:00
Licai Guo
048dea434d
remove unnecessary check, confirmed safe usage
2014-01-21 23:54:21 -08:00
Martin Storsjö
5e10951c47
Use sysctl instead of the deprecated Gestalt API for getting the number of cores on OS X
...
Also use the __APPLE__ predefined define instead of MACOS for enabling
these code paths.
This also avoids having to link to the CoreServices framework in
order to get the Gestalt function.
2014-01-22 09:44:49 +02:00
Martin Storsjö
af6feaa45c
Use sched_getaffinity to get the number of cores on linux
...
This gets rid of the code that parses /proc/cpuinfo, and avoids
forking within the library.
The previous code also failed build on modern glibc versions
due to ignoring the return value of the system, read and write
system calls.
2014-01-22 09:44:48 +02:00
ruil2
4fd3bafa65
update Max GOP size and minor fixes for early return
2014-01-22 15:22:58 +08:00
Ethan Hugg
ae73411f9a
Merge pull request #176 from mstorsjo/remove-msvc-2010-2012-files
...
Remove the MSVC 2010 and 2012 project files
2014-01-21 19:29:49 -08:00
Licai Guo
a53377314a
fix issues found by coverage scan
2014-01-21 19:13:46 -08:00
Martin Storsjö
36f96cb766
Don't include the headers for dynamically loading the VP library if NO_DYNAMIC_VP is defined
...
bundleloader.h, which is included if MACOS is defined, defines
inline functions that reference bundle loading system functions,
which requires linking to the core foundation framework.
Avoid requiring linking to extra libraries/frameworks if
NO_DYNAMIC_VP is defined.
2014-01-21 21:15:32 +02:00
Martin Storsjö
043575ffb0
Add a public C API to the library
...
Add a struct that matches the C++ interface vtable.
This requires that the C++ interface methods are declared to use
the same calling convention as normal C functions, and that the
C struct exactly matches the layout and ordering of the C++
virtual table - MSVC seemed to reorder methods if there were
overloaded methods.
2014-01-21 20:54:32 +02:00
Martin Storsjö
dd0db820fc
Rename public interface methods to avoid two overloaded methods with the same name
...
This is required to make the order in the C++ virtual table
consistent in MSVC - previously the overloaded methods were
ordered differently in the vtable compared to the interface
declaration.
2014-01-21 20:54:32 +02:00
Ethan Hugg
efaa153bb1
Merge pull request #183 from mstorsjo/remove-unused-typedef
...
Remove unused typedefs
2014-01-21 10:34:14 -08:00
Ethan Hugg
ae0bd3ee02
Merge pull request #182 from mstorsjo/move-threadlib
...
Move the WelsThreadLib files to the common directory/library
2014-01-21 10:33:50 -08:00
Ethan Hugg
b6dcd94cb0
Merge pull request #180 from mstorsjo/remove-disabled-bundle-loading
...
Remove disabled/broken/unused code for bundle loading in the console tools
2014-01-21 10:30:28 -08:00
Ethan Hugg
57a292b106
Merge pull request #179 from mstorsjo/fix-bundleloader-64bit
...
Fix building of macos bundle loading code on 64 bit
2014-01-21 09:46:40 -08:00
Ethan Hugg
c4609af29c
Merge pull request #178 from mstorsjo/remove-system-header-hackery
...
Remove system header/define hackery in welsenc.cpp
2014-01-21 09:45:38 -08:00
Ethan Hugg
47db901f29
Merge pull request #177 from mstorsjo/remove-unused-function
...
Remove an unused function
2014-01-21 09:44:08 -08:00
Martin Storsjö
c196fd1ef0
Remove unused typedefs
2014-01-21 15:44:05 +02:00
Martin Storsjö
68f32c3c29
Move the WelsThreadLib files to the common directory/library
...
This simplifies building the thread library code via the
makefile based build system.
2014-01-21 15:11:07 +02:00
Martin Storsjö
249b4e3d1f
Only build the thread code if multithreading is enabled
...
This allows including the source file in the build even if
multithreading isn't desired.
2014-01-21 15:11:07 +02:00
Martin Storsjö
867d39e01b
Remove system header/define hackery in welsenc.cpp
...
There doesn't seem to be any actual need for this, building
on linux still works just fine.
2014-01-21 15:02:51 +02:00
Martin Storsjö
67405177d9
Remove an unused function
...
This function contains a lot of platform specific constants
whose use is unknown.
2014-01-21 15:01:52 +02:00
Martin Storsjö
d1a6929516
Fix building of macos bundle loading code on 64 bit
2014-01-21 15:00:56 +02:00
Martin Storsjö
41928236e4
Remove unused files about macos bundle loading from the console tools
2014-01-21 14:59:41 +02:00
Martin Storsjö
b903aa8273
Remove/disable broken code for loading the encoder library from a macos bundle
...
This refers to a file "bundlewelsenc.h" which doesn't even
exist in the project at the moment.
The corresponding bundle loading code is not called at all
in the decoder console tool.
2014-01-21 14:59:41 +02:00
Martin Storsjö
ccca04453a
Remove the MSVC 2010 and 2012 project files
...
Only the 2008 version is kept up to date at the moment.
The newer versions of MSVC can open and upgrade the 2008 version
files anyway, so by removing the unmaintained ones we reduce the
confusion and maintainance burden.
Additionally, the preferred way of building with MSVC is with the
makefile build system, according to the readme.
2014-01-21 13:51:41 +02:00
Martin Storsjö
5cb3fc93e0
Remove the __NO_CTYPE define
...
Nothing within the project uses it, and it's not necessary to
build the project either, tested on both linux and mingw.
2014-01-21 12:48:33 +02:00
Licai Guo
56767f8154
add parenthses
2014-01-21 00:23:41 -08:00
volvet
1d86dbdc0f
fix coverity issues
2014-01-21 16:17:56 +08:00
volvet
5c9f447c0e
fix win64 float issue, enable AQ assembly
2014-01-21 11:16:48 +08:00
Ethan Hugg
ae027b83d8
Merge pull request #159 from mstorsjo/frameskip-option
...
Add a runtime option for controlling frame skipping
2014-01-20 16:56:32 -08:00
Licai Guo
a2164c22af
fix 960932 by add boundary checks on run_before
2014-01-19 22:15:25 -08:00
Licai Guo
64380c46b8
fix 961370
2014-01-19 18:54:45 -08:00
V
a6463be0cc
Allow yasm to be used instead of nasm.
...
http://www.nasm.us/doc/nasmdoc3.html#section-3.4.1 says a zero should
follow $ in numeric constants, but yasm complains about it when not
followed.
2014-01-18 13:59:24 +01:00
Ethan Hugg
2011a7407e
Merge pull request #147 from volvet/illegal_assembly_fix
...
fix illegal instruction use
2014-01-17 14:13:24 -08:00
Martin Storsjö
a8d549e343
Omit assembler source rules if no asm sources are found
2014-01-17 18:52:46 +02:00
Martin Storsjö
cee3329ff0
Add a runtime option for controlling frame skipping
2014-01-17 12:39:33 +02:00
Martin Storsjö
6e75136201
Don't load welsdec.dll at runtime in the decConsole test app on windows
...
Instead just link directly to it. This matches how the library is
linked/loaded in encConsole/h264enc as well.
Only the 2008 version project file is updated for now, since
the 2010 and 2012 ones are out of sync right now.
2014-01-17 12:06:21 +02:00
Martin Storsjö
b842ff30e5
Make the compiler/ar/linker file output parameters overrideable
...
This is in preparation for allowing building using MSVC via
makefiles.
2014-01-17 12:06:11 +02:00
Martin Storsjö
d7c907198b
Fix building in MSVC 2012 by avoiding redefining the inline keyword
...
While building succeeds in MSVC 2008, it currently fails in 2012
due to error C1189 "The C++ standard library forbids macroizing
keywords", which is caused by doing "#define inline __inline" in
the macros.h header.
This could have been missed before since it only was triggered
if macros.h was included before some other system header was
included that contained checks against these inline defines.
2014-01-17 12:04:27 +02:00
Licai Guo
1a04694d97
fix crash caused by empty packets and add more checks
2014-01-16 22:13:03 -08:00
sijchen
49c24646a9
fix the range of SAD
2014-01-17 13:55:03 +08:00
Varun B Patil
98ff18d15d
fix typo
2014-01-17 00:50:03 +05:30
volvet
856f186b8e
fix illegal instruction use
2014-01-16 15:57:22 +08:00
Ethan Hugg
b1fc94e314
Merge pull request #134 from mstorsjo/encode-sps-pps
...
Add an encoder method for encoding the SPS/PPS without encoding a frame
2014-01-14 15:31:18 -08:00
Martin Storsjö
65b339815e
Get rid of trailing whitespace in the assembly source files
2014-01-13 20:12:04 +02:00
Martin Storsjö
ddcfc09c49
Convert some assembly files to unix newlines
...
This makes them consistent with the rest of them.
2014-01-13 20:12:04 +02:00
Ethan Hugg
301b06ad36
Merge pull request #135 from mstorsjo/pointer-cast
...
Fix casting of the return value integer to a pointer in the thread lib
2014-01-13 09:05:01 -08:00
Ethan Hugg
e560ba58a3
Merge pull request #141 from licaiguo/update-vs2008-files
...
update vs2008 files
2014-01-13 09:02:47 -08:00
Ethan Hugg
a1d37ff6b5
Merge pull request #142 from mstorsjo/remove-unused-variable
...
Remove an unused variable
2014-01-13 09:01:59 -08:00
Martin Storsjö
11394f492d
Remove accidentally added const for plain non-pointer function parameters
...
This was accidentally added in 61117c85
when the pointer
parameters were made const.
2014-01-13 12:14:43 +02:00
Martin Storsjö
c5ee5f8f05
Remove an unused variable
2014-01-13 12:11:37 +02:00
licaiguo
b92683691f
update vs2008 files
2014-01-13 15:44:07 +08:00
volvet
14f6c4fa72
Merge pull request #131 from mstorsjo/win64-asm
...
win64: Use rsp instead of esp
2014-01-12 00:42:29 -08:00
Ethan Hugg
4a8a9aabc1
Merge pull request #122 from volvet/core_number_detect_fix
...
Core number detect fix
2014-01-11 11:29:45 -08:00
Martin Storsjö
2766215545
Add an encoder method for encoding the SPS/PPS without encoding a frame
...
This is useful if using a muxer that requires the SPS/PPS to be
available before the first frame is encoded.
2014-01-11 13:58:56 +02:00
Martin Storsjö
a78f1b2650
win64: Use rsp instead of esp
...
Using esp works by coincidence as long as the stack pointer is
within the first 4 GB of the address space - which seems to work
as long as the test binary is built with /dynamicbase:no, but breaks
if this option is removed.
2014-01-11 13:12:35 +02:00
Martin Storsjö
d8d5dfe646
Fix casting of the return value integer to a pointer in the thread lib
...
This fixes building of the thread lib on 64 bit unix.
2014-01-11 13:12:30 +02:00