42d515121f11389df082dd02319904c99dd50cd6 |
21-Aug-2012 |
Martin Storsjo <martin@martin.st> |
avcenc: Update a comment about the inline assembly Since the inline assembly was fixed in commit 3fdb405597f the comment was no longer accurate. Change-Id: Id4f8a111d1fa6e0c2e97f7db64262e8d1604c519
ad_halfpel_inline.h
ad_inline.h
ad_mb_offset.h
|
3fdb405597f0e062a9bb8af20199c5e67f0f764c |
13-Apr-2012 |
Martin Storsjo <martin@martin.st> |
avcenc: Fix the gcc inline assembly constraints Use +r for registers whose value is used as input to the block. Also switch input registers to output registers with +r, for registers that are modified by the assembly block (SUB_SAD in sad_inline.h). Without this, the inline assembly fails on modern gcc versions (tested on gcc 4.6), where the intended input value never is loaded into the registers, causing segfaults at runtime. Currently this assembly isn't used, but this change makes it work properly if enabled. Change-Id: I37c247cd5c8aff213445e31ab3bd33d8f0f37e05
ad_halfpel_inline.h
ad_inline.h
ad_mb_offset.h
|
ccde1257952d2c073e51ecba6180060570ffa41f |
13-Apr-2012 |
Martin Storsjo <martin@martin.st> |
avcenc: Properly indent assembly blocks Also line break multiline assembly blocks - previously they were virtually unreadable. Change-Id: Icb269909b78746e26b28ab7dcb6979c4655a0b0c
ad_halfpel_inline.h
ad_inline.h
ad_mb_offset.h
|
b7ca7dc9652456181080bf28ec376bc5a36cf6a2 |
16-Aug-2012 |
Jean-Baptiste Queru <jbq@google.com> |
Merge "avcenc: Clarify the ifdefs surrounding inline assembly"
|
a858aa963d2a7e767d0d8694e29cb6fe87c9ef9f |
08-Aug-2012 |
Jean-Baptiste Queru <jbq@google.com> |
Merge "avcenc: Remove redundant zero-initialization of allocated memory"
|
0ab18f853571149de700930fbb783ecd6b2c5582 |
08-Aug-2012 |
Jean-Baptiste Queru <jbq@google.com> |
Merge "avcenc: Remove useless casts"
|
0822156cfd25c111cd33932ee9a89b3100d0350c |
08-Aug-2012 |
Jean-Baptiste Queru <jbq@google.com> |
Merge "avcenc: Fix indentation"
|
21dc4b6a99f0427cc1c0b10d3dcdb34c7571d10f |
16-Apr-2012 |
Martin Storsjo <martin@martin.st> |
avcenc: Remove redundant zero-initialization of allocated memory The allocation callback is now supposed to always return initialized memory. Change-Id: I7a4d036e498c9f87c730dda3aab5057eb764a1e7
vcenc_api.cpp
ate_control.cpp
|
955585cca11173b07e2e7db3d636ee97b69b053b |
13-Apr-2012 |
Martin Storsjo <martin@martin.st> |
avcenc: Fix indentation Change-Id: I4fcdf619e3b75387a7909272f3164b8d608b6cc2
ad_mb_offset.h
|
f5af6314db25ff3bef9bd2eeba201bc6cc60805d |
13-Apr-2012 |
Martin Storsjo <martin@martin.st> |
avcenc: Clarify the ifdefs surrounding inline assembly Previously, the code was structured like this: #if defined(__GNUC__) && defined(__arm__) /* Generic C implementation */ #elif defined(__CC_ARM) /* RVCT version */ #elif defined(__GNUC__) && defined(__arm__) /* GCC arm assembly version */ #endif This had two implications - the gcc arm version never was used in practice, and the code required -D__arm__ to build at all for other architectures. The inline assembly constraints are buggy (requires changes so as to not crash), and if fixed, the optimizations still aren't faster than the generic C code on modern gcc versions. Therefore, just ignore them and use the generic C code. Due to the peculiar code block ordering and preprocessor conditions, the generic C code is what has been used before anyway, but it did require -D__arm__ to build, which can cause problems if building for other architectures, if the system headers have ifdefs for this define. This change makes it build without that define. Change-Id: Ib3fcf5651ee720310b7dff10fd04279b5f90759c
ad_halfpel_inline.h
ad_inline.h
ad_mb_offset.h
|
2f3152dee8e763fd7eae9d7b71078d5c6aec5881 |
13-Apr-2012 |
Martin Storsjo <martin@martin.st> |
avcenc: Remove useless casts Change-Id: I73a6f74268bcf6ca22d489d13936be8fd1b3fc92
itstream_io.cpp
|
23da4cf305b9bfff07954711a8a2d9ec040865af |
13-Apr-2012 |
Martin Storsjo <martin@martin.st> |
avcenc: Switch malloc/free callbacks to use pointers instead of ints There is no reason for casting the pointers to ints. This fixes building the code on platforms where pointers are larger than ints, e.g. 64 bit platforms. Change-Id: I910cd207d0908287931c9a96eb270139967e029b
vcenc_api.cpp
itstream_io.cpp
otion_est.cpp
ate_control.cpp
|
4b43b41eaf8c4c80f66185e13620cf94b8b2ef5b |
13-Apr-2012 |
Martin Storsjo <martin@martin.st> |
stagefright avcenc: Use intptr_t for casting pointers to integers This is used for doing integer arithmetic on the pointers, for checking pointer alignment. Change-Id: I7a7ff834dc631ac9cce90e46216f64645e1ae6e5
vcenc_api.cpp
otion_comp.cpp
ad_inline.h
|
4e1d7b8d16abbe8a60fa3957646297b552e82fb0 |
13-Apr-2012 |
Martin Storsjo <martin@martin.st> |
stagefright avcenc: Switch tmp variables to use the right type, to avoid casting This fixes building on platforms where int is smaller than pointers, e.g. 64 bit platforms. Change-Id: I3da0459bac10cbffd1db699bf4782fe926cd391f
otion_comp.cpp
|
d54329e48d2ee6bc6b24d148770eec562e10e739 |
13-Jul-2010 |
James Dong <jdong@google.com> |
Fix simulator build - missing header file <string.h> - need to define -D__arm__ Change-Id: I18d2f1908684150784cf728234b5aedbc02447d1
vcenc_api.h
|
29a84457aed4c45bc900998b5e11c03023264208 |
03-Jul-2010 |
James Dong <jdong@google.com> |
Initial checkin for software AVC encoder - Since the software encoder assumes the input is YUV420 planar, color conversion needs to be added when the input color format does not meet the requirement. With this patch, I only added a single color conversion from YUV420 semi planar to YUV420 planar. We can add more as we go. Change-Id: If8640c9e5a4f73d385ae9bb2022e57f7f62b91b9
vcenc_api.cpp
vcenc_api.h
vcenc_int.h
vcenc_lib.h
itstream_io.cpp
lock.cpp
indhalfpel.cpp
eader.cpp
nit.cpp
ntra_est.cpp
otion_comp.cpp
otion_est.cpp
ate_control.cpp
esidual.cpp
ad.cpp
ad_halfpel.cpp
ad_halfpel_inline.h
ad_inline.h
ad_mb_offset.h
lice.cpp
lc_encode.cpp
|