aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2019-05-02 03:10:31 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2019-05-02 03:10:31 +0000
commit85cbc403d88d77767d426b46b4027b9fed5e2506 (patch)
treee2fcaebbea5081b8b97f722e5f3a96147a91d7d4
parent4ba87de7669f4d19442cc5a1d0b103ac9a1725f1 (diff)
parent54160a6d3e6528d75f609f511cea0c8d447de1fa (diff)
downloadlibavc-85cbc403d88d77767d426b46b4027b9fed5e2506.tar.gz
Snap for 5523284 from 54160a6d3e6528d75f609f511cea0c8d447de1fa to qt-release
Change-Id: I324120709c926d978ecd0349c13a5f7f7127b336
-rw-r--r--decoder/ih264d.h1
-rw-r--r--decoder/ih264d_api.c7
-rw-r--r--decoder/ih264d_parse_headers.c6
3 files changed, 9 insertions, 5 deletions
diff --git a/decoder/ih264d.h b/decoder/ih264d.h
index 7c76296..83f8a1f 100644
--- a/decoder/ih264d.h
+++ b/decoder/ih264d.h
@@ -50,6 +50,7 @@ extern "C" {
/*****************************************************************************/
/* Constant Macros */
/*****************************************************************************/
+#define IVD_ERROR_MASK 0xFF
/*****************************************************************************/
/* Function Macros */
diff --git a/decoder/ih264d_api.c b/decoder/ih264d_api.c
index 25ead89..dc31632 100644
--- a/decoder/ih264d_api.c
+++ b/decoder/ih264d_api.c
@@ -1549,7 +1549,7 @@ WORD32 ih264d_create(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
}
}
ps_create_op->s_ivd_create_op_t.u4_error_code = IVD_MEM_ALLOC_FAILED;
- ps_create_op->s_ivd_create_op_t.u4_error_code = 1 << IVD_FATALERROR;
+ ps_create_op->s_ivd_create_op_t.u4_error_code |= 1 << IVD_FATALERROR;
return IV_FAIL;
}
@@ -1591,6 +1591,8 @@ UWORD32 ih264d_map_error(UWORD32 i4_err_status)
case ERROR_PROFILE_NOT_SUPPORTED:
case ERROR_INIT_NOT_DONE:
case IVD_MEM_ALLOC_FAILED:
+ case ERROR_FEATURE_UNAVAIL:
+ case IVD_STREAM_WIDTH_HEIGHT_NOT_SUPPORTED:
temp = 1 << IVD_FATALERROR;
H264_DEC_DEBUG_PRINT("\nFatal Error\n");
break;
@@ -1625,7 +1627,6 @@ UWORD32 ih264d_map_error(UWORD32 i4_err_status)
break;
case ERROR_NOT_SUPP_RESOLUTION:
- case ERROR_FEATURE_UNAVAIL:
case ERROR_ACTUAL_LEVEL_GREATER_THAN_INIT:
temp = 1 << IVD_UNSUPPORTEDINPUT;
break;
@@ -2260,6 +2261,8 @@ WORD32 ih264d_video_decode(iv_obj_t *dec_hdl, void *pv_api_ip, void *pv_api_op)
|| (ret == ERROR_UNAVAIL_PICBUF_T)
|| (ret == ERROR_UNAVAIL_MVBUF_T)
|| (ret == ERROR_INV_SPS_PPS_T)
+ || (ret == ERROR_FEATURE_UNAVAIL)
+ || (ret == IVD_STREAM_WIDTH_HEIGHT_NOT_SUPPORTED)
|| (ret == IVD_DISP_FRM_ZERO_OP_BUF_SIZE))
{
ps_dec->u4_slice_start_code_found = 0;
diff --git a/decoder/ih264d_parse_headers.c b/decoder/ih264d_parse_headers.c
index a53d7c4..4325390 100644
--- a/decoder/ih264d_parse_headers.c
+++ b/decoder/ih264d_parse_headers.c
@@ -608,7 +608,7 @@ WORD32 ih264d_parse_sps(dec_struct_t *ps_dec, dec_bit_stream_t *ps_bitstrm)
/* Monochrome is not supported */
if(ps_seq->i4_chroma_format_idc != 1)
{
- return ERROR_INV_SPS_PPS_T;
+ return ERROR_FEATURE_UNAVAIL;
}
/* reading bit_depth_luma_minus8 */
@@ -617,7 +617,7 @@ WORD32 ih264d_parse_sps(dec_struct_t *ps_dec, dec_bit_stream_t *ps_bitstrm)
if(ps_seq->i4_bit_depth_luma_minus8 != 0)
{
- return ERROR_INV_SPS_PPS_T;
+ return ERROR_FEATURE_UNAVAIL;
}
/* reading bit_depth_chroma_minus8 */
@@ -626,7 +626,7 @@ WORD32 ih264d_parse_sps(dec_struct_t *ps_dec, dec_bit_stream_t *ps_bitstrm)
if(ps_seq->i4_bit_depth_chroma_minus8 != 0)
{
- return ERROR_INV_SPS_PPS_T;
+ return ERROR_FEATURE_UNAVAIL;
}
/* reading qpprime_y_zero_transform_bypass_flag */