Commit graph

15 commits

Author SHA1 Message Date
Hamsalekha S
126d84e0d3 Encoder added support for VUI params
SPS will now include vui params
Removed a trailing space in ih264e_api.c

Change-Id: I67a57741689206e571e9a83f7e3360149f87e06a
2015-10-09 11:35:29 -07:00
Martin Storsjo
33134b2617 Validate the u4_entropy_coding_mode field
Previously, if this field wasn't set, the invalid coding mode
could lead to crashes later.

Bug: 22860270

Change-Id: If8dd2f8d5f2fbdd6bb76772344f959df23159167
2015-07-31 18:51:00 +00:00
Martin Storsjo
b0aadd0c45 Remove the now unused stride field from the set dimensions struct
Since 90a3904fd3 and d020be5ac7, this field doesn't have any actual
effect - the strides are taken from the input pictures.

Bug: 22860270

Change-Id: I9b08cbf8ee558e038d0017a6176d7b3bd3c428bd
2015-07-31 18:48:14 +00:00
Martin Storsjo
086dd8ea90 Don't declare variables after statements
This fixes building with compilers that are strict about the pre-C99
rule about having all variable declarations before statements.

Change-Id: I06dd0cc42a6dbe90025c3c913a0c8d9ffb0acbcb
2015-06-25 08:25:58 -07:00
Martin Storsjo
5ae9fc7e9d Force regenerating the header via i4_gen_header instead of i4_header_mode
If i4_header_mode is set (without the caller explicitly requesting it),
the next frame to be encoded will be missed altogether (when only
a header is output).

Instead force a header to be generated prepended to the next frame.
If the caller explicitly requests header mode, it will be output
in a separate call.

Change-Id: If475717edf980bccb2076f880c60c9dd7dede904
2015-06-25 08:25:57 -07:00
Martin Storsjo
b5a707eee3 Allow setting profile IV_PROFILE_MAIN
Now once that the encoder supports the main profile, allow it to
be set in the IVE_CMD_CTL_SET_PROFILE_PARAMS request.

The actual profile value set here is ignored in practice, but
at least allow setting it to main.
2015-06-25 08:25:55 -07:00
Harinarayanan K K
205e6fe110 Added check for minimum output buffer size.
Changed macro specifying the minimum size required for output buffer.

Added an error check on the size allocated for output buffer.

Change-Id: I98e4f46e62ffc974df760f2633689de079ca3e5e
2015-06-25 08:25:55 -07:00
Harinarayanan K K
7dbacdf765 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
2015-06-25 08:25:54 -07:00
Harinarayanan K K
d3e18f0c88 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
2015-06-25 08:25:54 -07:00
Martin Storsjo
ce7f41973c 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
2015-06-25 08:25:50 -07:00
Harinarayanan K K
3749f6f435 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
2015-06-25 08:25:43 -07:00
Harish Mahendrakar
cf91c87b25 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

Bug: 21586373
Change-Id: I83ff8165364a863d577fcac81e711b07eec9c004
2015-06-12 18:34:16 -07:00
Martin Storsjo
ac97f28bb6 Fix an overread in the slice map
After incrementing the macroblock position in ih264e_update_proc_ctxt,
the slice index of the next macroblock is read. The value that is read
isn't actually used, but make sure that the array is large enough to
avoid overreads.

Change-Id: I44ddb49773244c7d1e404199fc57a9e30a8959e0
2015-06-03 08:37:00 -07:00
Lajos Molnar
a2b49e5f05 fix file permissions
Change-Id: Ia4f99d5b963acd8d8a1afc2fbdf06b122d898f63
2015-05-05 17:51:34 +00:00
Hamsalekha S
8d3d303c79 Initial version
Change-Id: I7efe9a589cd24edf86e8d086b40c27cbbf8b4017
2015-04-02 15:59:02 +05:30