summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Yi <byi@google.com>2014-10-22 08:46:29 -0700
committerBill Yi <byi@google.com>2014-10-22 08:46:29 -0700
commit488d8a3b67937ec6a0898f4de82717b2021e81c2 (patch)
tree129170798d4012b8906613ae35a7af9f6c159c49
parentdc69376bd3d1c65ad19abfc036a85266b2199136 (diff)
parentca37eef61fa94932463f117ff1655a7e68f1827e (diff)
downloadandroid_device_generic_goldfish-488d8a3b67937ec6a0898f4de82717b2021e81c2.tar.gz
android_device_generic_goldfish-488d8a3b67937ec6a0898f4de82717b2021e81c2.tar.bz2
android_device_generic_goldfish-488d8a3b67937ec6a0898f4de82717b2021e81c2.zip
Merge commit 'ca37eef61fa94932463f117ff1655a7e68f1827e' into HEAD
-rw-r--r--audio/Android.mk1
-rw-r--r--audio/audio_hw.c8
-rw-r--r--camera/EmulatedFakeCamera2.cpp132
-rw-r--r--camera/EmulatedFakeCamera2.h5
-rw-r--r--camera/EmulatedFakeCamera3.cpp28
-rw-r--r--camera/media_codecs.xml40
-rw-r--r--opengl/system/GLESv1_enc/gl_client_proc.h4
-rw-r--r--opengl/system/GLESv1_enc/gl_enc.h6
-rw-r--r--opengl/system/GLESv1_enc/gl_entry.cpp8
-rw-r--r--opengl/system/GLESv2_enc/gl2_client_proc.h4
-rw-r--r--opengl/system/GLESv2_enc/gl2_enc.h4
-rw-r--r--opengl/system/GLESv2_enc/gl2_entry.cpp8
12 files changed, 44 insertions, 204 deletions
diff --git a/audio/Android.mk b/audio/Android.mk
index 8e21fe8..d9d2f13 100644
--- a/audio/Android.mk
+++ b/audio/Android.mk
@@ -26,5 +26,6 @@ LOCAL_SHARED_LIBRARIES := libcutils liblog
LOCAL_SRC_FILES := audio_hw.c
LOCAL_SHARED_LIBRARIES += libdl
+LOCAL_CFLAGS := -Wno-unused-parameter
include $(BUILD_SHARED_LIBRARY)
diff --git a/audio/audio_hw.c b/audio/audio_hw.c
index 833583c..cab9aad 100644
--- a/audio/audio_hw.c
+++ b/audio/audio_hw.c
@@ -371,7 +371,8 @@ static int adev_open_output_stream(struct audio_hw_device *dev,
audio_devices_t devices,
audio_output_flags_t flags,
struct audio_config *config,
- struct audio_stream_out **stream_out)
+ struct audio_stream_out **stream_out,
+ const char *address __unused)
{
struct generic_audio_device *adev = (struct generic_audio_device *)dev;
struct generic_stream_out *out;
@@ -523,7 +524,10 @@ static int adev_open_input_stream(struct audio_hw_device *dev,
audio_io_handle_t handle,
audio_devices_t devices,
struct audio_config *config,
- struct audio_stream_in **stream_in)
+ struct audio_stream_in **stream_in,
+ audio_input_flags_t flags __unused,
+ const char *address __unused,
+ audio_source_t source __unused)
{
struct generic_audio_device *adev = (struct generic_audio_device *)dev;
struct generic_stream_in *in;
diff --git a/camera/EmulatedFakeCamera2.cpp b/camera/EmulatedFakeCamera2.cpp
index ca6f5ed..844a71e 100644
--- a/camera/EmulatedFakeCamera2.cpp
+++ b/camera/EmulatedFakeCamera2.cpp
@@ -112,9 +112,6 @@ EmulatedFakeCamera2::~EmulatedFakeCamera2() {
status_t EmulatedFakeCamera2::Initialize() {
status_t res;
- set_camera_metadata_vendor_tag_ops(
- static_cast<vendor_tag_query_ops_t*>(&mVendorTagOps));
-
res = constructStaticInfo(&mCameraInfo, true);
if (res != OK) {
ALOGE("%s: Unable to allocate static info: %s (%d)",
@@ -633,80 +630,6 @@ int EmulatedFakeCamera2::triggerAction(uint32_t trigger_id,
ext1, ext2);
}
-/** Custom tag definitions */
-
-// Emulator camera metadata sections
-enum {
- EMULATOR_SCENE = VENDOR_SECTION,
- END_EMULATOR_SECTIONS
-};
-
-enum {
- EMULATOR_SCENE_START = EMULATOR_SCENE << 16,
-};
-
-// Emulator camera metadata tags
-enum {
- // Hour of day to use for lighting calculations (0-23). Default: 12
- EMULATOR_SCENE_HOUROFDAY = EMULATOR_SCENE_START,
- EMULATOR_SCENE_END
-};
-
-unsigned int emulator_metadata_section_bounds[END_EMULATOR_SECTIONS -
- VENDOR_SECTION][2] = {
- { EMULATOR_SCENE_START, EMULATOR_SCENE_END }
-};
-
-const char *emulator_metadata_section_names[END_EMULATOR_SECTIONS -
- VENDOR_SECTION] = {
- "com.android.emulator.scene"
-};
-
-typedef struct emulator_tag_info {
- const char *tag_name;
- uint8_t tag_type;
-} emulator_tag_info_t;
-
-emulator_tag_info_t emulator_scene[EMULATOR_SCENE_END - EMULATOR_SCENE_START] = {
- { "hourOfDay", TYPE_INT32 }
-};
-
-emulator_tag_info_t *tag_info[END_EMULATOR_SECTIONS -
- VENDOR_SECTION] = {
- emulator_scene
-};
-
-const char* EmulatedFakeCamera2::getVendorSectionName(uint32_t tag) {
- ALOGV("%s", __FUNCTION__);
- uint32_t section = tag >> 16;
- if (section < VENDOR_SECTION || section > END_EMULATOR_SECTIONS) return NULL;
- return emulator_metadata_section_names[section - VENDOR_SECTION];
-}
-
-const char* EmulatedFakeCamera2::getVendorTagName(uint32_t tag) {
- ALOGV("%s", __FUNCTION__);
- uint32_t section = tag >> 16;
- if (section < VENDOR_SECTION || section > END_EMULATOR_SECTIONS) return NULL;
- uint32_t section_index = section - VENDOR_SECTION;
- if (tag >= emulator_metadata_section_bounds[section_index][1]) {
- return NULL;
- }
- uint32_t tag_index = tag & 0xFFFF;
- return tag_info[section_index][tag_index].tag_name;
-}
-
-int EmulatedFakeCamera2::getVendorTagType(uint32_t tag) {
- ALOGV("%s", __FUNCTION__);
- uint32_t section = tag >> 16;
- if (section < VENDOR_SECTION || section > END_EMULATOR_SECTIONS) return -1;
- uint32_t section_index = section - VENDOR_SECTION;
- if (tag >= emulator_metadata_section_bounds[section_index][1]) {
- return -1;
- }
- uint32_t tag_index = tag & 0xFFFF;
- return tag_info[section_index][tag_index].tag_type;
-}
-
/** Shutdown and debug methods */
int EmulatedFakeCamera2::dump(int fd) {
@@ -983,14 +906,6 @@ bool EmulatedFakeCamera2::ConfigureThread::setupCapture() {
}
mNextSensitivity = *e.data.i32;
- res = find_camera_metadata_entry(mRequest,
- EMULATOR_SCENE_HOUROFDAY,
- &e);
- if (res == NO_ERROR) {
- ALOGV("Setting hour: %d", *e.data.i32);
- mParent->mSensor->getScene().setHour(*e.data.i32);
- }
-
// Start waiting on readout thread
mWaitingForReadout = true;
ALOGV("Configure: Waiting for readout thread");
@@ -1420,24 +1335,6 @@ bool EmulatedFakeCamera2::ReadoutThread::threadLoop() {
&captureTime,
1);
- int32_t hourOfDay = (int32_t)mParent->mSensor->getScene().getHour();
- camera_metadata_entry_t requestedHour;
- res = find_camera_metadata_entry(frame,
- EMULATOR_SCENE_HOUROFDAY,
- &requestedHour);
- if (res == NAME_NOT_FOUND) {
- res = add_camera_metadata_entry(frame,
- EMULATOR_SCENE_HOUROFDAY,
- &hourOfDay, 1);
- if (res != NO_ERROR) {
- ALOGE("Unable to add vendor tag");
- }
- } else if (res == OK) {
- *requestedHour.data.i32 = hourOfDay;
- } else {
- ALOGE("%s: Error looking up vendor tag", __FUNCTION__);
- }
-
collectStatisticsMetadata(frame);
// TODO: Collect all final values used from sensor in addition to timestamp
}
@@ -1710,7 +1607,7 @@ status_t EmulatedFakeCamera2::ControlThread::processRequest(camera_metadata_t *r
// disable all 3A
if (mControlMode == ANDROID_CONTROL_MODE_OFF) {
mEffectMode = ANDROID_CONTROL_EFFECT_MODE_OFF;
- mSceneMode = ANDROID_CONTROL_SCENE_MODE_UNSUPPORTED;
+ mSceneMode = ANDROID_CONTROL_SCENE_MODE_DISABLED;
mAfMode = ANDROID_CONTROL_AF_MODE_OFF;
mAeLock = ANDROID_CONTROL_AE_LOCK_ON;
mAeMode = ANDROID_CONTROL_AE_MODE_OFF;
@@ -1732,7 +1629,7 @@ status_t EmulatedFakeCamera2::ControlThread::processRequest(camera_metadata_t *r
ANDROID_CONTROL_SCENE_MODE,
&mode);
mSceneMode = READ_IF_OK(res, mode.data.u8[0],
- ANDROID_CONTROL_SCENE_MODE_UNSUPPORTED);
+ ANDROID_CONTROL_SCENE_MODE_DISABLED);
res = find_camera_metadata_entry(request,
ANDROID_CONTROL_AF_MODE,
@@ -2203,21 +2100,6 @@ status_t EmulatedFakeCamera2::constructStaticInfo(
ADD_OR_SIZE(ANDROID_LENS_INFO_SHADING_MAP_SIZE, lensShadingMapSize,
sizeof(lensShadingMapSize)/sizeof(int32_t));
- // Identity transform
- static const int32_t geometricCorrectionMapSize[] = {2, 2};
- ADD_OR_SIZE(ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP_SIZE,
- geometricCorrectionMapSize,
- sizeof(geometricCorrectionMapSize)/sizeof(int32_t));
-
- static const float geometricCorrectionMap[2 * 3 * 2 * 2] = {
- 0.f, 0.f, 0.f, 0.f, 0.f, 0.f,
- 1.f, 0.f, 1.f, 0.f, 1.f, 0.f,
- 0.f, 1.f, 0.f, 1.f, 0.f, 1.f,
- 1.f, 1.f, 1.f, 1.f, 1.f, 1.f};
- ADD_OR_SIZE(ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP,
- geometricCorrectionMap,
- sizeof(geometricCorrectionMap)/sizeof(float));
-
int32_t lensFacing = mFacingBack ?
ANDROID_LENS_FACING_BACK : ANDROID_LENS_FACING_FRONT;
ADD_OR_SIZE(ANDROID_LENS_FACING, &lensFacing, 1);
@@ -2381,7 +2263,7 @@ status_t EmulatedFakeCamera2::constructStaticInfo(
// android.control
static const uint8_t availableSceneModes[] = {
- ANDROID_CONTROL_SCENE_MODE_UNSUPPORTED
+ ANDROID_CONTROL_SCENE_MODE_DISABLED
};
ADD_OR_SIZE(ANDROID_CONTROL_AVAILABLE_SCENE_MODES,
availableSceneModes, sizeof(availableSceneModes));
@@ -2392,9 +2274,9 @@ status_t EmulatedFakeCamera2::constructStaticInfo(
ADD_OR_SIZE(ANDROID_CONTROL_AVAILABLE_EFFECTS,
availableEffects, sizeof(availableEffects));
- int32_t max3aRegions = 0;
+ static const int32_t max3aRegions[] = {/*AE*/ 0,/*AWB*/ 0,/*AF*/ 0};
ADD_OR_SIZE(ANDROID_CONTROL_MAX_REGIONS,
- &max3aRegions, 1);
+ max3aRegions, sizeof(max3aRegions)/sizeof(max3aRegions[0]));
static const uint8_t availableAeModes[] = {
ANDROID_CONTROL_AE_MODE_OFF,
@@ -2563,7 +2445,6 @@ status_t EmulatedFakeCamera2::constructDefaultRequest(
uint8_t demosaicMode = 0;
uint8_t noiseMode = 0;
uint8_t shadingMode = 0;
- uint8_t geometricMode = 0;
uint8_t colorMode = 0;
uint8_t tonemapMode = 0;
uint8_t edgeMode = 0;
@@ -2577,7 +2458,6 @@ status_t EmulatedFakeCamera2::constructDefaultRequest(
demosaicMode = ANDROID_DEMOSAIC_MODE_HIGH_QUALITY;
noiseMode = ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY;
shadingMode = ANDROID_SHADING_MODE_HIGH_QUALITY;
- geometricMode = ANDROID_GEOMETRIC_MODE_HIGH_QUALITY;
colorMode = ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY;
tonemapMode = ANDROID_TONEMAP_MODE_HIGH_QUALITY;
edgeMode = ANDROID_EDGE_MODE_HIGH_QUALITY;
@@ -2591,7 +2471,6 @@ status_t EmulatedFakeCamera2::constructDefaultRequest(
demosaicMode = ANDROID_DEMOSAIC_MODE_FAST;
noiseMode = ANDROID_NOISE_REDUCTION_MODE_FAST;
shadingMode = ANDROID_SHADING_MODE_FAST;
- geometricMode = ANDROID_GEOMETRIC_MODE_FAST;
colorMode = ANDROID_COLOR_CORRECTION_MODE_FAST;
tonemapMode = ANDROID_TONEMAP_MODE_FAST;
edgeMode = ANDROID_EDGE_MODE_FAST;
@@ -2601,7 +2480,6 @@ status_t EmulatedFakeCamera2::constructDefaultRequest(
ADD_OR_SIZE(ANDROID_DEMOSAIC_MODE, &demosaicMode, 1);
ADD_OR_SIZE(ANDROID_NOISE_REDUCTION_MODE, &noiseMode, 1);
ADD_OR_SIZE(ANDROID_SHADING_MODE, &shadingMode, 1);
- ADD_OR_SIZE(ANDROID_GEOMETRIC_MODE, &geometricMode, 1);
ADD_OR_SIZE(ANDROID_COLOR_CORRECTION_MODE, &colorMode, 1);
ADD_OR_SIZE(ANDROID_TONEMAP_MODE, &tonemapMode, 1);
ADD_OR_SIZE(ANDROID_EDGE_MODE, &edgeMode, 1);
diff --git a/camera/EmulatedFakeCamera2.h b/camera/EmulatedFakeCamera2.h
index 1d209be..64c8667 100644
--- a/camera/EmulatedFakeCamera2.h
+++ b/camera/EmulatedFakeCamera2.h
@@ -125,11 +125,6 @@ protected:
int32_t ext1,
int32_t ext2);
- /** Custom tag definitions */
- virtual const char* getVendorSectionName(uint32_t tag);
- virtual const char* getVendorTagName(uint32_t tag);
- virtual int getVendorTagType(uint32_t tag);
-
/** Debug methods */
virtual int dump(int fd);
diff --git a/camera/EmulatedFakeCamera3.cpp b/camera/EmulatedFakeCamera3.cpp
index 91337ae..fe07a25 100644
--- a/camera/EmulatedFakeCamera3.cpp
+++ b/camera/EmulatedFakeCamera3.cpp
@@ -524,7 +524,6 @@ const camera_metadata_t* EmulatedFakeCamera3::constructDefaultRequestSettings(
uint8_t demosaicMode = 0;
uint8_t noiseMode = 0;
uint8_t shadingMode = 0;
- uint8_t geometricMode = 0;
uint8_t colorMode = 0;
uint8_t tonemapMode = 0;
uint8_t edgeMode = 0;
@@ -538,7 +537,6 @@ const camera_metadata_t* EmulatedFakeCamera3::constructDefaultRequestSettings(
demosaicMode = ANDROID_DEMOSAIC_MODE_HIGH_QUALITY;
noiseMode = ANDROID_NOISE_REDUCTION_MODE_HIGH_QUALITY;
shadingMode = ANDROID_SHADING_MODE_HIGH_QUALITY;
- geometricMode = ANDROID_GEOMETRIC_MODE_HIGH_QUALITY;
colorMode = ANDROID_COLOR_CORRECTION_MODE_HIGH_QUALITY;
tonemapMode = ANDROID_TONEMAP_MODE_HIGH_QUALITY;
edgeMode = ANDROID_EDGE_MODE_HIGH_QUALITY;
@@ -552,7 +550,6 @@ const camera_metadata_t* EmulatedFakeCamera3::constructDefaultRequestSettings(
demosaicMode = ANDROID_DEMOSAIC_MODE_FAST;
noiseMode = ANDROID_NOISE_REDUCTION_MODE_FAST;
shadingMode = ANDROID_SHADING_MODE_FAST;
- geometricMode = ANDROID_GEOMETRIC_MODE_FAST;
colorMode = ANDROID_COLOR_CORRECTION_MODE_FAST;
tonemapMode = ANDROID_TONEMAP_MODE_FAST;
edgeMode = ANDROID_EDGE_MODE_FAST;
@@ -562,7 +559,6 @@ const camera_metadata_t* EmulatedFakeCamera3::constructDefaultRequestSettings(
settings.update(ANDROID_DEMOSAIC_MODE, &demosaicMode, 1);
settings.update(ANDROID_NOISE_REDUCTION_MODE, &noiseMode, 1);
settings.update(ANDROID_SHADING_MODE, &shadingMode, 1);
- settings.update(ANDROID_GEOMETRIC_MODE, &geometricMode, 1);
settings.update(ANDROID_COLOR_CORRECTION_MODE, &colorMode, 1);
settings.update(ANDROID_TONEMAP_MODE, &tonemapMode, 1);
settings.update(ANDROID_EDGE_MODE, &edgeMode, 1);
@@ -1064,21 +1060,6 @@ status_t EmulatedFakeCamera3::constructStaticInfo() {
info.update(ANDROID_LENS_INFO_SHADING_MAP_SIZE, lensShadingMapSize,
sizeof(lensShadingMapSize)/sizeof(int32_t));
- // Identity transform
- static const int32_t geometricCorrectionMapSize[] = {2, 2};
- info.update(ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP_SIZE,
- geometricCorrectionMapSize,
- sizeof(geometricCorrectionMapSize)/sizeof(int32_t));
-
- static const float geometricCorrectionMap[2 * 3 * 2 * 2] = {
- 0.f, 0.f, 0.f, 0.f, 0.f, 0.f,
- 1.f, 0.f, 1.f, 0.f, 1.f, 0.f,
- 0.f, 1.f, 0.f, 1.f, 0.f, 1.f,
- 1.f, 1.f, 1.f, 1.f, 1.f, 1.f};
- info.update(ANDROID_LENS_INFO_GEOMETRIC_CORRECTION_MAP,
- geometricCorrectionMap,
- sizeof(geometricCorrectionMap)/sizeof(float));
-
uint8_t lensFacing = mFacingBack ?
ANDROID_LENS_FACING_BACK : ANDROID_LENS_FACING_FRONT;
info.update(ANDROID_LENS_FACING, &lensFacing, 1);
@@ -1134,6 +1115,9 @@ status_t EmulatedFakeCamera3::constructStaticInfo() {
info.update(ANDROID_SENSOR_BLACK_LEVEL_PATTERN,
blackLevelPattern, sizeof(blackLevelPattern)/sizeof(int32_t));
+ static const int32_t orientation = 0; // unrotated (0 degrees)
+ info.update(ANDROID_SENSOR_ORIENTATION, &orientation, 1);
+
//TODO: sensor color calibration fields
// android.flash
@@ -1242,7 +1226,7 @@ status_t EmulatedFakeCamera3::constructStaticInfo() {
// android.control
static const uint8_t availableSceneModes[] = {
- ANDROID_CONTROL_SCENE_MODE_UNSUPPORTED
+ ANDROID_CONTROL_SCENE_MODE_DISABLED
};
info.update(ANDROID_CONTROL_AVAILABLE_SCENE_MODES,
availableSceneModes, sizeof(availableSceneModes));
@@ -1253,9 +1237,9 @@ status_t EmulatedFakeCamera3::constructStaticInfo() {
info.update(ANDROID_CONTROL_AVAILABLE_EFFECTS,
availableEffects, sizeof(availableEffects));
- int32_t max3aRegions = 0;
+ static const int32_t max3aRegions[] = {/*AE*/ 0,/*AWB*/ 0,/*AF*/ 0};
info.update(ANDROID_CONTROL_MAX_REGIONS,
- &max3aRegions, 1);
+ max3aRegions, sizeof(max3aRegions)/sizeof(max3aRegions[0]));
static const uint8_t availableAeModes[] = {
ANDROID_CONTROL_AE_MODE_OFF,
diff --git a/camera/media_codecs.xml b/camera/media_codecs.xml
index 8d46b98..87d11f2 100644
--- a/camera/media_codecs.xml
+++ b/camera/media_codecs.xml
@@ -16,10 +16,12 @@
<!--
<!DOCTYPE MediaCodecs [
-<!ELEMENT MediaCodecs (Decoders,Encoders)>
-<!ELEMENT Decoders (MediaCodec*)>
-<!ELEMENT Encoders (MediaCodec*)>
-<!ELEMENT MediaCodec (Type*,Quirk*)>
+<!ELEMENT Include EMPTY>
+<!ATTLIST Include href CDATA #REQUIRED>
+<!ELEMENT MediaCodecs (Decoders|Encoders|Include)*>
+<!ELEMENT Decoders (MediaCodec|Include)*>
+<!ELEMENT Encoders (MediaCodec|Include)*>
+<!ELEMENT MediaCodec (Type|Quirk|Include)*>
<!ATTLIST MediaCodec name CDATA #REQUIRED>
<!ATTLIST MediaCodec type CDATA>
<!ELEMENT Type EMPTY>
@@ -76,31 +78,7 @@ Only the three quirks included above are recognized at this point:
-->
<MediaCodecs>
- <Decoders>
- <MediaCodec name="OMX.google.mp3.decoder" type="audio/mpeg" />
- <MediaCodec name="OMX.google.amrnb.decoder" type="audio/3gpp" />
- <MediaCodec name="OMX.google.amrwb.decoder" type="audio/amr-wb" />
- <MediaCodec name="OMX.google.aac.decoder" type="audio/mp4a-latm" />
- <MediaCodec name="OMX.google.g711.alaw.decoder" type="audio/g711-alaw" />
- <MediaCodec name="OMX.google.g711.mlaw.decoder" type="audio/g711-mlaw" />
- <MediaCodec name="OMX.google.vorbis.decoder" type="audio/vorbis" />
- <MediaCodec name="OMX.google.gsm.decoder" type="audio/gsm" />
-
- <MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es" />
- <MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" />
- <MediaCodec name="OMX.google.h264.decoder" type="video/avc" />
- <MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" />
- <MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" />
- </Decoders>
-
- <Encoders>
- <MediaCodec name="OMX.google.aac.encoder" type="audio/mp4a-latm" />
- <MediaCodec name="OMX.google.amrnb.encoder" type="audio/3gpp" />
- <MediaCodec name="OMX.google.amrwb.encoder" type="audio/amr-wb" />
- <MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" />
- <MediaCodec name="OMX.google.h264.encoder" type="video/avc" />
- <MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" />
- <MediaCodec name="OMX.google.flac.encoder" type="audio/flac" />
- <MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" />
- </Encoders>
+ <Include href="media_codecs_google_audio.xml" />
+ <Include href="media_codecs_google_telephony.xml" />
+ <Include href="media_codecs_google_video.xml" />
</MediaCodecs>
diff --git a/opengl/system/GLESv1_enc/gl_client_proc.h b/opengl/system/GLESv1_enc/gl_client_proc.h
index a188657..707c524 100644
--- a/opengl/system/GLESv1_enc/gl_client_proc.h
+++ b/opengl/system/GLESv1_enc/gl_client_proc.h
@@ -269,8 +269,8 @@ typedef void (gl_APIENTRY *glDeleteVertexArraysOES_client_proc_t) (void * ctx, G
typedef void (gl_APIENTRY *glGenVertexArraysOES_client_proc_t) (void * ctx, GLsizei, GLuint*);
typedef GLboolean (gl_APIENTRY *glIsVertexArrayOES_client_proc_t) (void * ctx, GLuint);
typedef void (gl_APIENTRY *glDiscardFramebufferEXT_client_proc_t) (void * ctx, GLenum, GLsizei, const GLenum*);
-typedef void (gl_APIENTRY *glMultiDrawArraysEXT_client_proc_t) (void * ctx, GLenum, GLint*, GLsizei*, GLsizei);
-typedef void (gl_APIENTRY *glMultiDrawElementsEXT_client_proc_t) (void * ctx, GLenum, const GLsizei*, GLenum, const GLvoid**, GLsizei);
+typedef void (gl_APIENTRY *glMultiDrawArraysEXT_client_proc_t) (void * ctx, GLenum, const GLint*, const GLsizei*, GLsizei);
+typedef void (gl_APIENTRY *glMultiDrawElementsEXT_client_proc_t) (void * ctx, GLenum, const GLsizei*, GLenum, const GLvoid* const*, GLsizei);
typedef void (gl_APIENTRY *glMultiDrawArraysSUN_client_proc_t) (void * ctx, GLenum, GLint*, GLsizei*, GLsizei);
typedef void (gl_APIENTRY *glMultiDrawElementsSUN_client_proc_t) (void * ctx, GLenum, const GLsizei*, GLenum, const GLvoid**, GLsizei);
typedef void (gl_APIENTRY *glRenderbufferStorageMultisampleIMG_client_proc_t) (void * ctx, GLenum, GLsizei, GLenum, GLsizei, GLsizei);
diff --git a/opengl/system/GLESv1_enc/gl_enc.h b/opengl/system/GLESv1_enc/gl_enc.h
index d8a23e4..2899b66 100644
--- a/opengl/system/GLESv1_enc/gl_enc.h
+++ b/opengl/system/GLESv1_enc/gl_enc.h
@@ -281,8 +281,8 @@ extern "C" {
void glGenVertexArraysOES_enc(void *self , GLsizei n, GLuint* arrays);
GLboolean glIsVertexArrayOES_enc(void *self , GLuint array);
void glDiscardFramebufferEXT_enc(void *self , GLenum target, GLsizei numAttachments, const GLenum* attachments);
- void glMultiDrawArraysEXT_enc(void *self , GLenum mode, GLint* first, GLsizei* count, GLsizei primcount);
- void glMultiDrawElementsEXT_enc(void *self , GLenum mode, const GLsizei* count, GLenum type, const GLvoid** indices, GLsizei primcount);
+ void glMultiDrawArraysEXT_enc(void *self , GLenum mode, const GLint* first, const GLsizei* count, GLsizei primcount);
+ void glMultiDrawElementsEXT_enc(void *self , GLenum mode, const GLsizei* count, GLenum type, const GLvoid* const* indices, GLsizei primcount);
void glMultiDrawArraysSUN_enc(void *self , GLenum mode, GLint* first, GLsizei* count, GLsizei primcount);
void glMultiDrawElementsSUN_enc(void *self , GLenum mode, const GLsizei* count, GLenum type, const GLvoid** indices, GLsizei primcount);
void glRenderbufferStorageMultisampleIMG_enc(void *self , GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
@@ -313,4 +313,4 @@ extern "C" {
void glStartTilingQCOM_enc(void *self , GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask);
void glEndTilingQCOM_enc(void *self , GLbitfield preserveMask);
};
-#endif \ No newline at end of file
+#endif
diff --git a/opengl/system/GLESv1_enc/gl_entry.cpp b/opengl/system/GLESv1_enc/gl_entry.cpp
index b43df09..ecc13f4 100644
--- a/opengl/system/GLESv1_enc/gl_entry.cpp
+++ b/opengl/system/GLESv1_enc/gl_entry.cpp
@@ -266,8 +266,8 @@ extern "C" {
void glGenVertexArraysOES(GLsizei n, GLuint* arrays);
GLboolean glIsVertexArrayOES(GLuint array);
void glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum* attachments);
- void glMultiDrawArraysEXT(GLenum mode, GLint* first, GLsizei* count, GLsizei primcount);
- void glMultiDrawElementsEXT(GLenum mode, const GLsizei* count, GLenum type, const GLvoid** indices, GLsizei primcount);
+ void glMultiDrawArraysEXT(GLenum mode, const GLint* first, const GLsizei* count, GLsizei primcount);
+ void glMultiDrawElementsEXT(GLenum mode, const GLsizei* count, GLenum type, const GLvoid*const* indices, GLsizei primcount);
void glMultiDrawArraysSUN(GLenum mode, GLint* first, GLsizei* count, GLsizei primcount);
void glMultiDrawElementsSUN(GLenum mode, const GLsizei* count, GLenum type, const GLvoid** indices, GLsizei primcount);
void glRenderbufferStorageMultisampleIMG(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
@@ -1876,13 +1876,13 @@ void glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum
ctx->glDiscardFramebufferEXT(ctx, target, numAttachments, attachments);
}
-void glMultiDrawArraysEXT(GLenum mode, GLint* first, GLsizei* count, GLsizei primcount)
+void glMultiDrawArraysEXT(GLenum mode, const GLint* first, const GLsizei* count, GLsizei primcount)
{
GET_CONTEXT;
ctx->glMultiDrawArraysEXT(ctx, mode, first, count, primcount);
}
-void glMultiDrawElementsEXT(GLenum mode, const GLsizei* count, GLenum type, const GLvoid** indices, GLsizei primcount)
+void glMultiDrawElementsEXT(GLenum mode, const GLsizei* count, GLenum type, const GLvoid* const* indices, GLsizei primcount)
{
GET_CONTEXT;
ctx->glMultiDrawElementsEXT(ctx, mode, count, type, indices, primcount);
diff --git a/opengl/system/GLESv2_enc/gl2_client_proc.h b/opengl/system/GLESv2_enc/gl2_client_proc.h
index 4eeda70..1a9f696 100644
--- a/opengl/system/GLESv2_enc/gl2_client_proc.h
+++ b/opengl/system/GLESv2_enc/gl2_client_proc.h
@@ -168,8 +168,8 @@ typedef void (gl2_APIENTRY *glDeleteVertexArraysOES_client_proc_t) (void * ctx,
typedef void (gl2_APIENTRY *glGenVertexArraysOES_client_proc_t) (void * ctx, GLsizei, GLuint*);
typedef GLboolean (gl2_APIENTRY *glIsVertexArrayOES_client_proc_t) (void * ctx, GLuint);
typedef void (gl2_APIENTRY *glDiscardFramebufferEXT_client_proc_t) (void * ctx, GLenum, GLsizei, const GLenum*);
-typedef void (gl2_APIENTRY *glMultiDrawArraysEXT_client_proc_t) (void * ctx, GLenum, GLint*, GLsizei*, GLsizei);
-typedef void (gl2_APIENTRY *glMultiDrawElementsEXT_client_proc_t) (void * ctx, GLenum, const GLsizei*, GLenum, const GLvoid**, GLsizei);
+typedef void (gl2_APIENTRY *glMultiDrawArraysEXT_client_proc_t) (void * ctx, GLenum, const GLint*, const GLsizei*, GLsizei);
+typedef void (gl2_APIENTRY *glMultiDrawElementsEXT_client_proc_t) (void * ctx, GLenum, const GLsizei*, GLenum, const GLvoid* const*, GLsizei);
typedef void (gl2_APIENTRY *glGetPerfMonitorGroupsAMD_client_proc_t) (void * ctx, GLint*, GLsizei, GLuint*);
typedef void (gl2_APIENTRY *glGetPerfMonitorCountersAMD_client_proc_t) (void * ctx, GLuint, GLint*, GLint*, GLsizei, GLuint*);
typedef void (gl2_APIENTRY *glGetPerfMonitorGroupStringAMD_client_proc_t) (void * ctx, GLuint, GLsizei, GLsizei*, GLchar*);
diff --git a/opengl/system/GLESv2_enc/gl2_enc.h b/opengl/system/GLESv2_enc/gl2_enc.h
index b1b456a..f4f3f60 100644
--- a/opengl/system/GLESv2_enc/gl2_enc.h
+++ b/opengl/system/GLESv2_enc/gl2_enc.h
@@ -181,8 +181,8 @@ extern "C" {
void glGenVertexArraysOES_enc(void *self , GLsizei n, GLuint* arrays);
GLboolean glIsVertexArrayOES_enc(void *self , GLuint array);
void glDiscardFramebufferEXT_enc(void *self , GLenum target, GLsizei numAttachments, const GLenum* attachments);
- void glMultiDrawArraysEXT_enc(void *self , GLenum mode, GLint* first, GLsizei* count, GLsizei primcount);
- void glMultiDrawElementsEXT_enc(void *self , GLenum mode, const GLsizei* count, GLenum type, const GLvoid** indices, GLsizei primcount);
+ void glMultiDrawArraysEXT_enc(void *self , GLenum mode, const GLint* first, const GLsizei* count, GLsizei primcount);
+ void glMultiDrawElementsEXT_enc(void *self , GLenum mode, const GLsizei* count, GLenum type, const GLvoid* const* indices, GLsizei primcount);
void glGetPerfMonitorGroupsAMD_enc(void *self , GLint* numGroups, GLsizei groupsSize, GLuint* groups);
void glGetPerfMonitorCountersAMD_enc(void *self , GLuint group, GLint* numCounters, GLint* maxActiveCounters, GLsizei counterSize, GLuint* counters);
void glGetPerfMonitorGroupStringAMD_enc(void *self , GLuint group, GLsizei bufSize, GLsizei* length, GLchar* groupString);
diff --git a/opengl/system/GLESv2_enc/gl2_entry.cpp b/opengl/system/GLESv2_enc/gl2_entry.cpp
index abd374b..b3ad229 100644
--- a/opengl/system/GLESv2_enc/gl2_entry.cpp
+++ b/opengl/system/GLESv2_enc/gl2_entry.cpp
@@ -165,8 +165,8 @@ extern "C" {
void glGenVertexArraysOES(GLsizei n, GLuint* arrays);
GLboolean glIsVertexArrayOES(GLuint array);
void glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum* attachments);
- void glMultiDrawArraysEXT(GLenum mode, GLint* first, GLsizei* count, GLsizei primcount);
- void glMultiDrawElementsEXT(GLenum mode, const GLsizei* count, GLenum type, const GLvoid** indices, GLsizei primcount);
+ void glMultiDrawArraysEXT(GLenum mode, const GLint* first, const GLsizei* count, GLsizei primcount);
+ void glMultiDrawElementsEXT(GLenum mode, const GLsizei* count, GLenum type, const GLvoid* const* indices, GLsizei primcount);
void glGetPerfMonitorGroupsAMD(GLint* numGroups, GLsizei groupsSize, GLuint* groups);
void glGetPerfMonitorCountersAMD(GLuint group, GLint* numCounters, GLint* maxActiveCounters, GLsizei counterSize, GLuint* counters);
void glGetPerfMonitorGroupStringAMD(GLuint group, GLsizei bufSize, GLsizei* length, GLchar* groupString);
@@ -1187,13 +1187,13 @@ void glDiscardFramebufferEXT(GLenum target, GLsizei numAttachments, const GLenum
ctx->glDiscardFramebufferEXT(ctx, target, numAttachments, attachments);
}
-void glMultiDrawArraysEXT(GLenum mode, GLint* first, GLsizei* count, GLsizei primcount)
+void glMultiDrawArraysEXT(GLenum mode, const GLint* first, const GLsizei* count, GLsizei primcount)
{
GET_CONTEXT;
ctx->glMultiDrawArraysEXT(ctx, mode, first, count, primcount);
}
-void glMultiDrawElementsEXT(GLenum mode, const GLsizei* count, GLenum type, const GLvoid** indices, GLsizei primcount)
+void glMultiDrawElementsEXT(GLenum mode, const GLsizei* count, GLenum type, const GLvoid* const* indices, GLsizei primcount)
{
GET_CONTEXT;
ctx->glMultiDrawElementsEXT(ctx, mode, count, type, indices, primcount);