I use MediaCodec to encode camera data, and when I use it on a device named Vivo X5 Pro(android 5.0, API 21),the data's size MediaCodec encoded is above 90000, and normally on other devices the size is about 15000.However I change the params of media format,it also dose't work. I also find that when I get the format with method MediaCodec.getOutputFormat() on Vivo X5 Pro(android 5.0, API 21),it has 7 data, one more than other normal case,it named "buffer-size" and value is 1048576,is this will influence the MediaCodec encode? How can I use Vivo X5 Pro(android 5.0, API 21) to encode a normal data size? Thank for help!!!
MediaCodec mEncoder = MediaCodec.createEncoderByType(MediaFormat.MIMETYPE_VIDEO_AVC);
MediaFormat format = MediaFormat.createVideoFormat(MediaFormat.MIMETYPE_VIDEO_AVC, 320, 568);
format.setInteger(MediaFormat.KEY_BIT_RATE, 320 * 568 * 2);
format.setInteger(MediaFormat.KEY_FRAME_RATE, 20);
format.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 1);
format.setInteger(MediaFormat.KEY_MAX_INPUT_SIZE, 320 * 568);
PS:However I change the params Vivo X5 Pro(android 5.0, API 21) encode data size still above 90000.