82fb2d30cdf3990e45611af4e9ccd4f460f9314c |
|
27-Nov-2017 |
Ram Mohan <ram.mohan@ittiam.com> |
avcenc: Allow intra mode evaluation during fast skip For static content, skip and intra modes often compete with each other neck and neck during mode evaluation. Upon fast skip detection, instead of skipping all further mode analysis, disable motion search and allow intra analysis. This change applies to all presets except FASTEST. Average bdrate improves by 1%. Test: Tested on clips of different resolutions. Change-Id: Ia0aabca5c1dcad03359bebaf071b7be27898e735
/external/libavc/encoder/ih264e_process.c
|
fef5e9e203fd2686b395a226f1909c6a704375f3 |
|
29-Nov-2016 |
Ray Essick <essick@google.com> |
Merge "Encoder: Defined structures for accessing MB header data" am: 8aa140b8a5 Change-Id: Ib3e9cad8eb8ddbd5c941ff4d4c96a12e0f309831
|
c7d9c91417bf69c783f390e48dbbe7aafb45bbda |
|
23-Nov-2016 |
Harish Mahendrakar <harish.mahendrakar@ittiam.com> |
Encoder: Defined structures for accessing MB header data Instead of using hard coded address offsets, defined structures to access MB Header for each MB type This improves readability of the code Also helps in maintaining required alignment for MV MV elements need to be aligned to 2 byte boundary Unaligned accesses result in undefined behavior Bug: 33073518 Test: Tested with -fsanitize=alignment enabled on avcenc Change-Id: I51c009b7deded76315a4bf2880444d21ae7d517f
/external/libavc/encoder/ih264e_process.c
|
983e1aecd4739d2a558228e3fb6f9895333f25d4 |
|
30-Mar-2016 |
Doney Alex <doney.alex@ittiam.com> |
Encoder: Added support for configuring VUI parameters. Bug: 27442922 Change-Id: I781195e78c480e7449f49467abb1df71902e568d
/external/libavc/encoder/ih264e_process.c
|
6581cbf841bf86f2f1221a5fab5134e07a95dc80 |
|
24-Feb-2016 |
Doney Alex <doney.alex@ittiam.com> |
DO NOT MERGE Encoder: Fixed adaptive intra refresh. Earlier if an MB was coded as intra in the previous frame, corresponding MB in the current frame will not be coded as intra even though it was supposed to be intra according to adaptive intra refresh. Now the MB will honour adaptive intra refresh irrespective of its type in previous frame. Change-Id: Icc84ddf962dad6f7d1f4d11e9cb2a37bcda567b8
/external/libavc/encoder/ih264e_process.c
|
4f067b6d46ac4575254ef47c36e925c0df829a4d |
|
24-Feb-2016 |
Doney Alex <doney.alex@ittiam.com> |
Encoder: Fixed adaptive intra refresh. Earlier if an MB was coded as intra in the previous frame, corresponding MB in the current frame will not be coded as intra even though it was supposed to be intra according to adaptive intra refresh. Now the MB will honour adaptive intra refresh irrespective of its type in previous frame. Change-Id: Icc84ddf962dad6f7d1f4d11e9cb2a37bcda567b8
/external/libavc/encoder/ih264e_process.c
|
4202606c70de812a040fbd79c8721dcd5d3c764e |
|
30-Jul-2015 |
Hamsalekha S <hamsalekha.s@ittiam.com> |
Encoder added support for VUI params SPS will now include vui params Removed a trailing space in ih264e_api.c Change-Id: I67a57741689206e571e9a83f7e3360149f87e06a
/external/libavc/encoder/ih264e_process.c
|
8588303afa4064cdbd91a653d45e5716b377b767 |
|
19-Jun-2015 |
Harinarayanan K K <harinarayanan.kk@ittiam.com> |
Added code to handle cases with qp less than 10 When qp goes less than 10, all I16x16 mode evaluations are disabled and I4x4 evaluations are enabled irrespective of preset. This will ensure that the residual will not exceed the supported range of entropy Minimum Qp cannot be set less than 4 now. When QP goes lesser, the residual may exceed the supported range even with I4x4 enabled. Change-Id: I25b404fcd9c9e9dbdd77679280968635ee047eb3
/external/libavc/encoder/ih264e_process.c
|
6cb6772805d86c66848b15a54926e396daed06b1 |
|
19-Jun-2015 |
Harinarayanan K K <harinarayanan.kk@ittiam.com> |
Reduced memory requirements. Buffer allocation is based on minimum level required for the input resolution rather than the input max level. Number of maximum context sets can be set to 1 to reduce memory usage. Added a macro ENC_MIN_PU_SIZE for minimum size of inter prediction unit supported by encoder. Changed the maximum constraint on number of MBs for NMB processing to width in Mbs. Change-Id: I5a9255e93935d90c13262681aafc772aedf8ae81
/external/libavc/encoder/ih264e_process.c
|
f7682979418da812e8c489a19f5a13afdd96b529 |
|
16-Jun-2015 |
Martin Storsjo <martin@martin.st> |
Always copy data to a local buffer if padding is needed If horizontal padding is needed, copy the data to avoid having to try to write into the input buffer. If vertical padding is needed, we could get away with only copying the last MB row (as previously was done), but then one extra row of pixels are needed for intra pred. Thus always copy all of the picture, for simplicity, if padding is needed. Change-Id: I6b456a12956120d64e7c6b86d7b571e159f4566b
/external/libavc/encoder/ih264e_process.c
|
90a3904fd36161b18ae6ebf8148c36821d7f940a |
|
09-Jun-2015 |
Martin Storsjo <martin@martin.st> |
Set the luma/chroma strides depending on source buffer If the data is read directly from the input buffer, set the stride values to those of the input buffer. If the data is copied, set the stride to the value of the local buffer instead. This fixes handling of cases where the input buffer stride is (significantly) larger than the maxwidth of the video. This also effectively makes the parameter ive_ctl_set_dimensions_ip_t.u4_strd useless - nothing needs to know the stride until you actually encode a frame, and at that point, we can either use the stride of the input buffer, or of the local pu1_y_csc_buf_base where the copied content is stored. Change-Id: Icde400b4a0867d25855e621e143454e608748aa3
/external/libavc/encoder/ih264e_process.c
|
53c6878c155d3329e947659c0d0ba1b97488e246 |
|
09-Jun-2015 |
Martin Storsjo <martin@martin.st> |
Use a separate field for the chroma stride When both luma and chroma are copied to the local buffer (either due to yuv format conversion, or due to padding), they have got the same stride, but if chroma is copied while luma is used directly from the input buffer, they might have different strides. Therefore add a separate field for chroma stride. This commit only adds the field, while it still has got the same value as before. Change-Id: I0dce97ad4d91cd1d9aba4b4472c6a0de45a314bc
/external/libavc/encoder/ih264e_process.c
|
134291ea0b1b9794b4d7feee2c3ffdbd941c5237 |
|
18-Jun-2015 |
Harinarayanan K K <harinarayanan.kk@ittiam.com> |
Added support for Main Profile toolsets in encoder. Added support for CABAC entropy coding. Added support for B slices. Fixed an issue in rate control constant QP mode. Change-Id: Ib759d35e8e943f941aa9b8bbff0362d92c619994
/external/libavc/encoder/ih264e_process.c
|
5cdb888fea0dbc2027400f5f2c2459e6b26eec0c |
|
09-Jun-2015 |
Harish Mahendrakar <harish.mahendrakar@ittiam.com> |
Fixed an overread in YUV420 Semi-planar input usecase Handled non-multiple of 16 dimensions for 420 semiplanar input Modified test code to remove alignment of width and height Change-Id: I83ff8165364a863d577fcac81e711b07eec9c004
/external/libavc/encoder/ih264e_process.c
|
1bc6742182d8928dc20817326f9e10fd040d8cc9 |
|
25-May-2015 |
Martin Storsjo <martin@martin.st> |
Only initialize u4_deblk_prev_row if it will be used This avoids reads out of bounds when encoding videos with a height of one single macroblock. Change-Id: Iec982cebb0995c8ecf160751eaa72df38604e8b0
/external/libavc/encoder/ih264e_process.c
|
cd9e51fc2b6091aa344363ee8a4f881e938ff80c |
|
18-Apr-2015 |
Lajos Molnar <lajos@google.com> |
fix file permissions Change-Id: Ia4f99d5b963acd8d8a1afc2fbdf06b122d898f63
/external/libavc/encoder/ih264e_process.c
|
c72323e7234ceda6c2c5be5bc2622d87cd4fbaf5 |
|
28-Apr-2015 |
Harish Mahendrakar <harish.mahendrakar@ittiam.com> |
Fixed few issues seen in CTS tests Added support for encoding non-multiple of 16 dimensions Added support for encoding dimensions smaller than 64x64 Aligned coeff data to 4 byte boundary Change-Id: I111093950f94698296d8499a2845cfe2db6c557b
/external/libavc/encoder/ih264e_process.c
|
8d3d303c7942ced6a987a52db8977d768dc3605f |
|
13-Mar-2015 |
Hamsalekha S <hamsalekha.s@ittiam.com> |
Initial version Change-Id: I7efe9a589cd24edf86e8d086b40c27cbbf8b4017
/external/libavc/encoder/ih264e_process.c
|