summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-10-06 08:14:36 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-10-06 08:14:36 +0000
commit90274dffaab1828f18b0bb07faf4e9de29414b2e (patch)
tree566dcac0cc526946ec8351cbea570320b1e01ab0
parent7225c263017013ed2a234ff47da24be6790b84de (diff)
parentcbee0d555557407e774b22d19b0e8cf8fd437c82 (diff)
downloadandroid_external_libhevc-90274dffaab1828f18b0bb07faf4e9de29414b2e.tar.gz
android_external_libhevc-90274dffaab1828f18b0bb07faf4e9de29414b2e.tar.bz2
android_external_libhevc-90274dffaab1828f18b0bb07faf4e9de29414b2e.zip
Snap for 4380820 from cbee0d555557407e774b22d19b0e8cf8fd437c82 to pi-release
Change-Id: I4133d0aefa893b0f6d63ffc7b81684c5049e5753
-rw-r--r--decoder/ihevcd_parse_headers.c32
1 files changed, 28 insertions, 4 deletions
diff --git a/decoder/ihevcd_parse_headers.c b/decoder/ihevcd_parse_headers.c
index a0d1781..7ae2ebf 100644
--- a/decoder/ihevcd_parse_headers.c
+++ b/decoder/ihevcd_parse_headers.c
@@ -2623,8 +2623,20 @@ void ihevcd_parse_sei_payload(codec_t *ps_codec,
case SEI_USER_DATA_REGISTERED_ITU_T_T35:
ps_parse->s_sei_params.i1_sei_parameters_present_flag = 1;
- ihevcd_parse_user_data_registered_itu_t_t35(ps_codec,
- u4_payload_size);
+ if(ps_parse->s_sei_params.i4_sei_user_data_cnt >= USER_DATA_MAX)
+ {
+ for(i = 0; i < u4_payload_size / 4; i++)
+ {
+ ihevcd_bits_flush(ps_bitstrm, 4 * 8);
+ }
+
+ ihevcd_bits_flush(ps_bitstrm, (u4_payload_size - i * 4) * 8);
+ }
+ else
+ {
+ ihevcd_parse_user_data_registered_itu_t_t35(ps_codec,
+ u4_payload_size);
+ }
break;
default:
@@ -2641,8 +2653,20 @@ void ihevcd_parse_sei_payload(codec_t *ps_codec,
{
case SEI_USER_DATA_REGISTERED_ITU_T_T35:
ps_parse->s_sei_params.i1_sei_parameters_present_flag = 1;
- ihevcd_parse_user_data_registered_itu_t_t35(ps_codec,
- u4_payload_size);
+ if(ps_parse->s_sei_params.i4_sei_user_data_cnt >= USER_DATA_MAX)
+ {
+ for(i = 0; i < u4_payload_size / 4; i++)
+ {
+ ihevcd_bits_flush(ps_bitstrm, 4 * 8);
+ }
+
+ ihevcd_bits_flush(ps_bitstrm, (u4_payload_size - i * 4) * 8);
+ }
+ else
+ {
+ ihevcd_parse_user_data_registered_itu_t_t35(ps_codec,
+ u4_payload_size);
+ }
break;
default: