| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
When header mode is enabled, the SPS is populated before this
field was initialized in ih264e_pic_init.
Change-Id: I7e38828e12bee15bd3a53562b4e4d0d65354326a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Added support for CABAC entropy coding.
Added support for B slices.
Fixed an issue in rate control constant QP mode.
Change-Id: Ib759d35e8e943f941aa9b8bbff0362d92c619994
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Change-Id: Ia4f99d5b963acd8d8a1afc2fbdf06b122d898f63
|
|
Change-Id: I7efe9a589cd24edf86e8d086b40c27cbbf8b4017
|