History log of /external/libavc/encoder/ih264e_utils.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
dbe9ac8936d115b59bbf37ee593e0fad83e3bf5e 26-Jun-2015 Harinarayanan K K <harinarayanan.kk@ittiam.com> Made gops closed

Now no picture in a gop will depend on any picture in the previous gop

All calls to force an IDR are respected as soon as possible

Bug: 22860270

Change-Id: Id2bcd5687c3fb786336a01894c1b9228d67a87a6
/external/libavc/encoder/ih264e_utils.c
6fb90f8feccf128b2503f50b7369cbc12afe489e 29-Jun-2015 Martin Storsjo <martin@martin.st> Make sure that apv_bufs[0] and u4_is_last always are set

When encoding in header mode, the s_inp_buf struct that was written
to ps_video_encode_op->s_ive_op.s_inp_buf was completely uninitialized.

In ih264e_input_queue_update, make sure to initialize u4_is_last
when skipping frames.

Bug: 22860270

Change-Id: I87e677acd00baf4f732ca7d35ee192e7f1f73994
/external/libavc/encoder/ih264e_utils.c
a6bcaf36906f08e7670272302e3b686b8535e4c5 27-Jun-2015 Martin Storsjo <martin@martin.st> Check the width/height and adjust level used for RC

Since 6cb6772805, the actual level used is
MAX(u4_max_level, ih264e_get_min_level()), which means that it isn't
a fatal error to set u4_max_level to a too low level (if the caller
doesn't know or care). Despite this, the actual value set by the caller
was still used for initializing the RC.

This allows the caller to not have to set u4_max_level (currently
every caller has to duplicate a table or code snippet for determining
the right level for each resolution). The caller still can set it
to a higher value if he wants to explicitly use a higher level than
what is necessary.

This makes sure that the output is identical even if u4_max_level is
set too low.

Bug: 22860270

Change-Id: Icdc6c0652a97568d1eafc050226357a9d643d809
/external/libavc/encoder/ih264e_utils.c
01168dc07ef45e649e1b67a32f8f8ef1ca3a27e0 29-Jun-2015 Harinarayanan K K <harinarayanan.kk@ittiam.com> Fixed encode of trailing B frames

In case a P frame was marked as the last frame to encode, the B frames
previous to it in the same gop were not getting encoded. This is fixed now.

Bug: 22860270

Change-Id: I871f2a1d52b8db9ee75426b00287b58203586f23
/external/libavc/encoder/ih264e_utils.c
88966cf07d2095aec959c5ac14b30237eeaa5727 23-Jun-2015 Martin Storsjo <martin@martin.st> Initialize i4_non_ref_frames_in_stream before encoding SPS/PPS

When header mode is enabled, the SPS is populated before this
field was initialized in ih264e_pic_init.

Change-Id: I7e38828e12bee15bd3a53562b4e4d0d65354326a
/external/libavc/encoder/ih264e_utils.c
d3e18f0c8854c258021be1e603d8f50a241698a7 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_utils.c
4e2c308d17ba99d57273291a0fd7fa73f4f21dfc 19-Jun-2015 Harinarayanan K K <harinarayanan.kk@ittiam.com> Fixed issues with forcing I and IDR frames.

Setting I frame interval to 1 caused encoder to go into
infinite loop. Fixed that by stopping RC update.

Forcing of I and IDR frame did not cause the frames at expected time
due to delayed encoding. This is fixed now.

Change-Id: Ibf549fb335c053ee33de768455b20e46be3e7c1c
/external/libavc/encoder/ih264e_utils.c
ce7f41973ce91bd7cba9d654183c4842bdbec77b 09-Jun-2015 Martin Storsjo <martin@martin.st> Remove the codec level stride field

This field isn't used at the moment at all. The public field
ive_ctl_set_dimensions_ip_t.u4_strd is kept to avoid breaking
other calling code, although it doesn't have any actual function
any longer.

Change-Id: Icfc88846fa63f209c67b8e1f8e0cc21bc4ddb73a
/external/libavc/encoder/ih264e_utils.c
9113f5615cb4b2be179b288a59324de723d2ec9a 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_utils.c
3749f6f435e79624f72841e866245d84195551cd 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_utils.c
c75cf37283c11079d6015385453200f4710656da 15-May-2015 Martin Storsjo <martin@martin.st> Support levels 5.0 and 5.1 in the encoder properly

The function ih264e_get_lvl_idx lacked handling of them
before, which meant that it returned index 0 (corresponding
to level 1.0) if level 5.0 or 5.1 were selected.

Change-Id: I482213e68e11fd091c72ec57a593392aa1a0a4ae
/external/libavc/encoder/ih264e_utils.c
df06a38c5bc7fdcb741b387b6bdfd3377d3f3164 25-May-2015 Martin Storsjo <martin@martin.st> Include space for chroma in the padding allocated in ih264e_get_total_pic_buf_size

Chroma is already accounted for in e.g. num_samples by multiplying
the number of luma samples by 3/2, so include it in the padding
calculation as well.

This fixes encoding 176x144 at level 1.0 - normally this isn't an issue
since the padding is a bit overestimated, but for this particular
resolution/level combination, it fails unless this is calculated properly.

Change-Id: Id5df6e5aee4d3d78f4c28a3b7d5fed6fe42a1f2c
/external/libavc/encoder/ih264e_utils.c
a2b49e5f0574dee76f81507f288143d83a4b7c1a 18-Apr-2015 Lajos Molnar <lajos@google.com> fix file permissions

Change-Id: Ia4f99d5b963acd8d8a1afc2fbdf06b122d898f63
/external/libavc/encoder/ih264e_utils.c
8d3d303c7942ced6a987a52db8977d768dc3605f 13-Mar-2015 Hamsalekha S <hamsalekha.s@ittiam.com> Initial version

Change-Id: I7efe9a589cd24edf86e8d086b40c27cbbf8b4017
/external/libavc/encoder/ih264e_utils.c