Hi,
I'm testing on Droid Razr XT912 - OMAP 4430. Android version is 4.1.2. My test uses MediaCodec API to do H264 encoding. For this test I'm using 640x480 camera preview. I manipulate the preview frames and send them to encoder as 240x320 frames. The relevant code flow is:
- mediaCodec = MediaCodec.createByCodecName(codecInfo.getName());
- MediaFormat mediaFormat = MediaFormat.createVideoFormat(mimeType, 240, 320);
- setup mediaFormat - bps, fps, key frame interval etc
- mediaCodec.configure(mediaFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
- mediaCodec.start();
- set up camera parameters.
- camera.setPreviewCallback(new PreviewHandler());
- camera.startPreview();
- crop the larger 640x480 preview frame to the smaller 240x320 frame, and send the small frame to the encoder.
- The MediaCodec API usage is pretty standard.
- 10-17 16:08:21.967 D/ARCamera(10115): output buffer info offset 0 size 21 pts 0 flags 2
- 10-17 16:08:21.998 D/ARCamera(10115): output buffer info offset 21 size 7818 pts 0 flags 1
- 10-17 16:08:22.006 D/ARCamera(10115): output buffer info offset 0 size 1562 pts 0 flags 0
- 10-17 16:08:22.185 D/ARCamera(10115): output buffer info offset 0 size 271 pts 0 flags 0
- 10-17 16:08:22.240 D/ARCamera(10115): output buffer info offset 0 size 239 pts 0 flags 0
- 10-17 16:08:22.365 D/ARCamera(10115): output buffer info offset 0 size 123 pts 0 flags 0
- 10-17 16:08:22.435 D/ARCamera(10115): output buffer info offset 0 size 103 pts 0 flags 0
- 10-17 16:08:22.803 D/ARCamera(10115): output buffer info offset 0 size 563 pts 0 flags 0
- 10-17 16:08:22.842 D/ARCamera(10115): output buffer info offset 0 size 455 pts 0 flags 0