summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2015-06-03 07:26:32 -0700
committerMarco Nelissen <marcone@google.com>2015-06-03 07:27:36 -0700
commit8ef4c3f6142028732a155cbfc1febd6ef5da72fd (patch)
tree79da99e029f5c41581f6878f49d025ecfccc32b9 /test
parent7497191460a9504f8b4f64df169ab633f0b74353 (diff)
downloadandroid_external_libavc-8ef4c3f6142028732a155cbfc1febd6ef5da72fd.tar.gz
android_external_libavc-8ef4c3f6142028732a155cbfc1febd6ef5da72fd.tar.bz2
android_external_libavc-8ef4c3f6142028732a155cbfc1febd6ef5da72fd.zip
Multithreading changes and better error resilience
Fixed the following bugs Issue 21145276 Issue 21144884 Issue 21181133 Issue 21181134 Decoder now returns error if the level in stream is higher than level at init Change-Id: I8892c62bd98f7854d046510330c05a1e9ca826b2
Diffstat (limited to 'test')
-rw-r--r--test/Android.mk1
-rw-r--r--test/decoder/main.c37
2 files changed, 37 insertions, 1 deletions
diff --git a/test/Android.mk b/test/Android.mk
index 0085832..adb14f0 100644
--- a/test/Android.mk
+++ b/test/Android.mk
@@ -6,3 +6,4 @@ include $(LOCAL_PATH)/encoder.mk
# decoder
include $(LOCAL_PATH)/decoder.mk
+
diff --git a/test/decoder/main.c b/test/decoder/main.c
index 0076ce9..921c240 100644
--- a/test/decoder/main.c
+++ b/test/decoder/main.c
@@ -64,6 +64,8 @@
#include <sys/time.h>
#endif
+
+
#define ALIGN8(x) ((((x) + 7) >> 3) << 3)
#define NUM_DISPLAY_BUFFERS 4
#define DEFAULT_FPS 30
@@ -952,6 +954,7 @@ void dump_output(vid_dec_ctx_t *ps_app_ctx,
{
UWORD8 *buf;
+
buf = (UWORD8 *)s_dump_disp_frm_buf.pv_y_buf;
for(i = 0; i < s_dump_disp_frm_buf.u4_y_ht; i++)
{
@@ -2271,6 +2274,38 @@ int main(WORD32 argc, CHAR *argv[])
codec_exit(ac_error_str);
}
+
+ /*****************************************************************************/
+ /* set stride */
+ /*****************************************************************************/
+ {
+ ivd_ctl_set_config_ip_t s_ctl_ip;
+ ivd_ctl_set_config_op_t s_ctl_op;
+
+
+ s_ctl_ip.u4_disp_wd = STRIDE;
+ if(1 == s_app_ctx.display)
+ s_ctl_ip.u4_disp_wd = s_app_ctx.get_stride();
+
+ s_ctl_ip.e_frm_skip_mode = IVD_SKIP_NONE;
+ s_ctl_ip.e_frm_out_mode = IVD_DECODE_FRAME_OUT;
+ s_ctl_ip.e_vid_dec_mode = IVD_DECODE_HEADER;
+ s_ctl_ip.e_cmd = IVD_CMD_VIDEO_CTL;
+ s_ctl_ip.e_sub_cmd = IVD_CMD_CTL_SETPARAMS;
+ s_ctl_ip.u4_size = sizeof(ivd_ctl_set_config_ip_t);
+ s_ctl_op.u4_size = sizeof(ivd_ctl_set_config_op_t);
+
+ ret = ivd_api_function((iv_obj_t*)codec_obj, (void *)&s_ctl_ip,
+ (void *)&s_ctl_op);
+ if(ret != IV_SUCCESS)
+ {
+ sprintf(ac_error_str,
+ "\nError in setting the stride");
+ codec_exit(ac_error_str);
+ }
+ }
+
+
/*****************************************************************************/
/* Input and output buffer allocation */
/*****************************************************************************/
@@ -2470,7 +2505,7 @@ int main(WORD32 argc, CHAR *argv[])
if(ret != IV_SUCCESS)
{
- printf("Error in header decode %x\n", s_video_decode_op.u4_error_code);
+ printf("Error in header decode 0x%x\n", s_video_decode_op.u4_error_code);
// codec_exit(ac_error_str);
}