Sijia Chen
b56b8725fc
add total length in encoder output and complete most of the statistis calculation
2014-11-13 13:56:58 -08:00
Sijia Chen
a765197b73
add interface and basic implementaion and UT for EncoderStatistics
2014-10-22 11:35:17 +08:00
ruil2
cebf586c3a
update trace output
2014-08-28 11:04:25 +08:00
ruil2
f7cd6e7aad
use WelsEnc namespace instead of WelsSVCEnc
2014-08-11 16:08:49 +08:00
ruil2
3632a0331c
remove pause frame interface which will be done in application level
2014-07-15 11:05:05 +08:00
ruil2
f49fa81d42
add interface parameter(profile/levle/numref) support
2014-06-20 16:02:56 +08:00
Martin Storsjö
65616c2c53
Use a more descriptive include guard in the welsEncoder/DecoderExt.h files
2014-06-10 17:06:14 +03:00
Martin Storsjö
e6ba730c59
Remove a misleading comment
...
This comment claimed to be a completely different file.
2014-06-10 17:06:13 +03:00
volvet
691c2bc1e7
remove m_pScrPicList, which is not needed anymore
2014-04-08 15:43:44 -07:00
volvet
b0ed3cb924
remove RawData2SrcPic, which is never called
2014-04-07 11:36:10 -07:00
volvet
bed051b631
rename Initialize2 to IntializeInternal
2014-04-07 11:30:12 -07:00
Martin Storsjö
4c829a12e2
Fix the comment in welsEncoderExt.h about the EncodeFrame return value
...
This was changed in 36d56b6638
in the public api, but the
internal implementation header was missed and left inconsistent.
2014-03-18 10:07:23 +02:00
Martin Storsjö
4633626d69
Remove XMMREG_PROTECT
...
This isn't necessary any longer, when all the assembly routines
take care of restoring registers as necessary.
2014-03-17 13:47:01 +02:00
volvet
4c951aab83
refine welsEncoderEncodeExt
2014-02-28 15:13:38 +08:00
volvet
d0d050d8e5
refine encode plus code
2014-02-28 13:06:49 +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
ruil2
3ba6a5f4da
Simplify encoder interface--remove EncoderFrame2 from interface
...
function
2014-02-20 10:33:07 +08: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ö
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ö
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ö
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ö
647fff6e2b
Remove useless ifdefs
...
This is in practice always enabled on all currently supported
platforms.
2014-02-18 11:09:28 +02:00
ruil2
35fa429fb0
encoder interface update step1
2014-02-18 09:51:47 +08: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
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
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
volvet
5c9f447c0e
fix win64 float issue, enable AQ assembly
2014-01-21 11:16:48 +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
licaiguo
077ffed5ea
Add Windows 64-bit build to VS project files
2013-12-15 15:18:19 +08:00
Ethan Hugg
ff6b669176
Pretty printed the C++ code with astyle
2013-12-12 14:21:12 -08:00
Martin Storsjö
3331ff6566
Fix a typo in the public codec API
2013-12-12 16:13:45 +02:00
Ethan Hugg
70e5e62f3d
Initial Commit
2013-12-09 04:51:09 -08:00