ROMs y desarrollo Meizu MX4 ROMs y desarrollo Meizu MX4

Respuesta
 
Herramientas
  #1  
Viejo 01/05/15, 20:18:54
Array

[xs_avatar]
kkdlux kkdlux no está en línea
Usuario muy activo
 
Fecha de registro: may 2015
Mensajes: 551
Modelo de smartphone: OnePlus 12
Tu operador: Simyo
Cámara del MX4 y posibles mods.

Siguiendo tutos de iicc vamos a ver que se puede rascar de la cámara aunque tampoco es que tenga mucha idea.

Como el ya ha comentado hay varias opciones ocultas, sin activar o no se, pero estan aunque sean en parte.

Así a grosso modo:

HDR+
Tiny planet
Balance de blancos
Goofy effect (deformar la cara parece)
Time lapse


Identificadores del MX4 en los xml

mz_m75_camera (front 2.2Mpx y back 20Mpx)

Tamaño de la foto frontal sólo hay una entrada:

<string-array name="mz_m75_camera_picture_front_entryvalues">
<item>1920x1152</item>

Para la cámara trasera hay los siguientes:

<string-array name="mz_m75_camera_picturesize_back_entryvalues">
<item>2624x1968</item>
<item>4480x2688</item>
<item>5248x3936</item>

Del PRO son:

mz_m76_camera (front 5Mpx y back 20Mpx)

Para la cámara frontal hay tres entradas:

<string-array name="mz_m76_camera_picture_front_entryvalues">
<item>1920x1080</item>
<item>2048x1536</item>
<item>2592x1944</item>

Para la trasera es lo mismo que el MX4

Esto son fotografías, el caso es que se podrían añadir más resoluciones (más bajas) al MX4 para la cámara frontal o para la trasera.

Exposición, posiblemente se puedan modificar:

<string-array name="mz_m75_shutter_speed_filter_values">
<item>0</item>
<item>1000</item>
<item>100000</item>
<item>1000000</item>
<item>20000000</item>

El caso es que para el PRO no hay esta entrada y supongo que usa los mismos valores, además en sensibilidad ISO ninguna de las anteriores tiene entradas pero otro modelo de cámara si que coninciden con estos que son valores compartidos con el M1 (tiene 13Mpx y 5Mpx):

<string-array name="mz_m71c_iso_entry">
<item>@string/auto</item>
<item>HJR</item>
<item>100</item>
<item>200</item>
<item>400</item>
<item>800</item>
<item>1600</item>

También está la entrada anteriormente de la cuenta atrás pero no voy a rellenar más al respecto, después de lo que parece que comparten el M1 y MX4 en sus dos versiones aparecen las entradas del MX3 y MX2 que tampoco voy a comentar.

Los tres tamaños seleccionables de tamaño de foto coincide con estos valores:

<string-array name="pref_camera_picturesize_nicks">
<item>@string/pref_camera_picturesize_small</item>
<item>@string/pref_camera_picturesize_middle</item>
<item>@string/pref_camera_picturesize_big</item>

A todo esto, algunos os preguntareis para qué saco todo esto y es que pretendo, al menos para pasar el rato, añadir o modificar opciones de la cámara y este tutorial me puede ayudar
http://www.darksideteam.com/threads/...a-aplicaciones

En la parte de video aparecen estas configuraciones, son las entradas a mirar de tamaño de video y después los perfiles de calidad (24 sería el alto??)

<string-array name="pref_video_quality_entries">
<item>@string/pref_video_quality_entry_low</item>
<item>@string/pref_video_quality_entry_high</item>
<item>@string/pref_video_quality_entry_qcif</item>
<item>@string/pref_video_quality_entry_480p</item>
<item>@string/pref_video_quality_entry_720p</item>
<item>@string/pref_video_quality_entry_1080p</item>
<item>@string/pref_video_quality_entry_4k</item>
<item>@string/pref_video_quality_entry_480p</item>
<item>@string/pref_video_quality_entry_480p</item>
</string-array>
<string-array name="pref_video_quality_entryvalues">
<item>0</item>
<item>1</item>
<item>2</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>23</item>
<item>24</item>
<item>10</item>

Esto todo está dentro del RES en varios XML, esto en concreto está en arrays.xml y hay que ir viendo a donde apunta en el resto para posibles modificaciones.

Sigo investigando el tema a ver si saco algo y animo al que quiera a que me arroje luz o colabore a ver si entre varios empezamos a hacer algo que creamos de interés, como tener otras opciones de resolución o calidad.

Última edición por kkdlux Día 01/05/15 a las 20:51:05.
Responder Con Cita
Los siguientes 2 usuarios han agradecido a kkdlux su comentario:


  #2  
Viejo 01/05/15, 20:44:16
Array

[xs_avatar]
kkdlux kkdlux no está en línea
Usuario muy activo
 
Fecha de registro: may 2015
Mensajes: 551
Modelo de smartphone: OnePlus 12
Tu operador: Simyo
En Strings.xml por ejemplo aparece esto:

<string name="mz_m71_video_quality_back_default">24</string>
<string name="mz_m71_video_quality_front_default">24</string>
<string name="mz_m75_camera_picture_size_back_default">524 8x3936</string>
<string name="mz_m75_camera_picture_size_front_default">19 20x1152</string>
<string name="mz_m75_video_quality_back_default">5</string>
<string name="mz_m75_video_quality_front_default">5</string>
<string name="mz_m76_camera_picture_size_back_default">448 0x2688</string>
<string name="mz_m76_camera_picture_size_front_default">25 92x1944</string>

Tal vez coincide que el M1 tiene una calidad por defecto para las fotos (24) y el MX4 (5) además por alguna razón el PRO parece que de entrada no saca las fotos en 20Mpx y viene entiendo que por defecto a unos 16Mpx.

En el Pro no aparece nada de la calidad de video quizás porque este si que tiene el media_profiles.xml.
Responder Con Cita
  #3  
Viejo 01/05/15, 21:06:42
Array

[xs_avatar]
kkdlux kkdlux no está en línea
Usuario muy activo
 
Fecha de registro: may 2015
Mensajes: 551
Modelo de smartphone: OnePlus 12
Tu operador: Simyo
Cosas que se supone que estan preparadas para el modo manual y que no aparecen:



En concreto un necesario Balance de blancos (wb) y después hay saturación o contraste.
Responder Con Cita
  #4  
Viejo 01/05/15, 21:21:08
Array

[xs_avatar]
iicc iicc no está en línea
Superuser
 
Fecha de registro: ene 2014
Localización: Murcia
Mensajes: 6,095
Modelo de smartphone: Meizu MX5/Meizu M1 Note
Tu operador: Amena
Buena iniciativa!

Yo por lo que veo, la función Tinyplanet está bastante desarrollada, pero eso sí, lleva más de un mes sin tocarse. Aquí un fragmento de un smali

[php].method public constructor <init>()V
.locals 2

.prologue
const/4 v1, 0x0

.line 60
invoke-direct {p0}, Landroid/app/DialogFragment;-><init>()V

.line 82
iput v1, p0, Lcom/meizu/media/camera/tinyplanet/TinyPlanetFragment;->mPreviewSizePx:I

.line 83
const/high16 v0, 0x3f000000 # 0.5f

iput v0, p0, Lcom/meizu/media/camera/tinyplanet/TinyPlanetFragment;->mCurrentZoom:F

.line 84
const/4 v0, 0x0

iput v0, p0, Lcom/meizu/media/camera/tinyplanet/TinyPlanetFragment;->mCurrentAngle:F

.line 91
new-instance v0, Ljava/util/concurrent/locks/ReentrantLock;

invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantLock;-><init>()V

iput-object v0, p0, Lcom/meizu/media/camera/tinyplanet/TinyPlanetFragment;->mResultLock:Ljava/util/concurrent/locks/Lock;

.line 94
const-string v0, ""

iput-object v0, p0, Lcom/meizu/media/camera/tinyplanet/TinyPlanetFragment;->mOriginalTitle:Ljava/lang/String;

.line 102
new-instance v0, Landroid/os/Handler;

invoke-direct {v0}, Landroid/os/Handler;-><init>()V

iput-object v0, p0, Lcom/meizu/media/camera/tinyplanet/TinyPlanetFragment;->mHandler:Landroid/os/Handler;

.line 104
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

move-result-object v0

iput-object v0, p0, Lcom/meizu/media/camera/tinyplanet/TinyPlanetFragment;->mRendering:Ljava/lang/Boolean;

.line 110
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;

move-result-object v0

iput-object v0, p0, Lcom/meizu/media/camera/tinyplanet/TinyPlanetFragment;->mRenderOneMore:Ljava/lang/Boolean;

.line 127
new-instance v0, Lcom/meizu/media/camera/tinyplanet/TinyPlanetFragment$1;

invoke-direct {v0, p0}, Lcom/meizu/media/camera/tinyplanet/TinyPlanetFragment$1;-><init>(Lcom/meizu/media/camera/tinyplanet/TinyPlanetFragment;)V

iput-object v0, p0, Lcom/meizu/media/camera/tinyplanet/TinyPlanetFragment;->mCreateTinyPlanetRunnable:Ljava/lang/Runnable;

return-void
.end method

.method static synthetic access$000(Lcom/meizu/media/camera/tinyplanet/TinyPlanetFragment;)Ljava/lang/Boolean;
.locals 1
.param p0, "x0" # Lcom/meizu/media/camera/tinyplanet/TinyPlanetFragment;

.prologue
.line 60
iget-object v0, p0, Lcom/meizu/media/camera/tinyplanet/TinyPlanetFragment;->mRendering:Ljava/lang/Boolean;

return-object v0[/php]


icono: ic_menu_tiny_planet.png

Última edición por iicc Día 01/05/15 a las 21:29:35.
Responder Con Cita
  #5  
Viejo 01/05/15, 22:05:33
Array

[xs_avatar]
kkdlux kkdlux no está en línea
Usuario muy activo
 
Fecha de registro: may 2015
Mensajes: 551
Modelo de smartphone: OnePlus 12
Tu operador: Simyo
En mz_setting_preferences.xml entiendo yo que es donde hay que añadir o modificar lo que corresponda.

Contiene esto:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceGroup camera:title= @string/pref_camera_settings_category"
xmlns:camera="http://schemas.android.com/apk/res/com.meizu.media.camera">
<ListPreference camera:key="mz_pref_meter_separate_key" camera:defaultValue= @string/setting_on_value" camera:entryValues= @array/mz_meter_separate_entryvalues" />
<ListPreference camera:key="mz_pref_gps_key" camera:defaultValue= @string/setting_on_value" camera:entryValues= @array/mz_gps_entryvalues" />
<ListPreference camera:key="mz_pref_hdr_key" camera:defaultValue= @string/setting_off_value" camera:entryValues= @array/mz_hdr_entryvalues" />
<ListPreference camera:key="mz_pref_meshline_key" camera:defaultValue= @string/setting_off_value" camera:entryValues= @array/mz_meshline_entryvalues" />
<ListPreference camera:key="mz_pref_level_key" camera:defaultValue= @string/setting_off_value" camera:entryValues= @array/mz_level_entryvalues" />
<ListPreference camera:key="mz_pref_storage_key" camera:defaultValue= @string/setting_storage_value" camera:entryValues= @array/mz_storage_entryvalues" />
<ListPreference camera:key="pref_camera_timer_key" camera:defaultValue="0" camera:entryValues= @array/mz_countdown_entryvalues" />
<MzPictureSizePreference camera:key="pref_camera_picturesize_key" camera:entryValues= @array/pref_camera_picturesize_entryvalues" camera:entries= @array/pref_camera_picturesize_entries" camera:nicks= @array/pref_camera_picturesize_nicks" camera:mx2frontValues= @array/mz_mx2_camera_picture_front_entryvalues" camera:mx3frontValues= @array/mz_mx3_camera_picture_front_entryvalues" camera:m75frontValues= @array/mz_m75_camera_picture_front_entryvalues" camera:m76frontValues= @array/mz_m76_camera_picture_front_entryvalues" camera:m71frontValues= @array/mz_m71_camera_picture_front_entryvalues" camera:m79frontValues= @array/mz_m79_camera_picture_front_entryvalues" camera:mx2entryValues= @array/mz_mx2_camera_picturesize_back_entryvalues" camera:mx3entryValues= @array/mz_mx3_camera_picturesize_back_entryvalues" camera:m75entryValues= @array/mz_m75_camera_picturesize_back_entryvalues" camera:m76entryValues= @array/mz_m76_camera_picturesize_back_entryvalues" camera:m71entryValues= @array/mz_m71_camera_picturesize_back_entryvalues" camera:m79entryValues= @array/mz_m79_camera_picturesize_back_entryvalues" />
<MzVideoSizePreference camera:key="pref_video_quality_key" camera:entryValues= @array/pref_video_quality_entryvalues" camera:entries= @array/pref_video_quality_entries" />
</PreferenceGroup>


Ahora vamos por ejemplo a donde pone gps:

<ListPreference camera:key="mz_pref_gps_key" camera:defaultValue= @string/setting_on_value" camera:entryValues= @array/mz_gps_entryvalues" />
@string sería strings.xml y @array sería array.xml, esto está en res/values

En strings no aparece nada especial, simplemente esa linea apunta a un texto que pone "on"

Que en array.xml apunta a estos valores:

<string-array name="mz_gps_entryvalues">
<item @string/setting_on_value</item>
<item @string/setting_off_value</item>
</string-array>

Si nos fijamos todo correspondo con los valores por defecto y ya pone lo que está on y off al arrancar la cámara y es lo que aparece en settings de la cámara.



De momento no saco mucho en claro ya que me tomo este hilo como bloc de apuntes...
Responder Con Cita
Gracias de parte de:
  #6  
Viejo 02/05/15, 01:53:28
Array

[xs_avatar]
negriton negriton no está en línea
Usuario muy activo
· Votos compra/venta: (23)
 
Fecha de registro: may 2014
Localización: Madrid
Mensajes: 5,856
Modelo de smartphone: Meizu PRO 6
Tu operador: Yoigo
No entiendo nada pero si nos sacais la apk con todas esas funciones os ponemos un piso en la castellana!
Responder Con Cita
Los siguientes 4 usuarios han agradecido a negriton su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #7  
Viejo 02/05/15, 20:48:40
Array

[xs_avatar]
kkdlux kkdlux no está en línea
Usuario muy activo
 
Fecha de registro: may 2015
Mensajes: 551
Modelo de smartphone: OnePlus 12
Tu operador: Simyo
Yo no prometo nada, aunque pensando que tiene un pefil de Nexus 5 creo que en realidad es la cámara stock de android modificada, es decir, la del Nexus 5 que si trae el photoshphere pero aquí está desactivado y añadidos los perfiles de Meizu entre otras cosas.

Habría que mirar eso también.
Responder Con Cita
  #8  
Viejo 02/05/15, 22:20:29
Array

[xs_avatar]
kkdlux kkdlux no está en línea
Usuario muy activo
 
Fecha de registro: may 2015
Mensajes: 551
Modelo de smartphone: OnePlus 12
Tu operador: Simyo
Unos pequeños avances, he usado smali2java para poder al menos leer de una manera comprensible los smali con una conversión a JAVA, ojo, no soy programador y no tengo idea.

MzCamcorderProfileManager.smali

Ha pasado a:

MzCamcorderProfileManager.java

Y nos encontramos con este código:
 Cita:
/**
* Generated by smali2java 1.0.0.558
* Copyright (C) 2013 Hensence.com
*

package com.meizu.media.camera;

import android.media.CamcorderProfile;
import com.meizu.media.camera.util.ApiHelper;
import android.media.MediaRecorder;

public class MzCamcorderProfileManager {
public static final int QUALITY_4K = 0x17;
public static int QUALITY_SLOW_MOTION;
public static int QUALITY_VGA;
private boolean mIsUseMzProfile;
private MzCamcorderProfileManager.MzCamcorderProfile mMzProfile;
private CamcorderProfile mProfile;

public MzCamcorderProfileManager() {
}

static {
if(ApiHelper.DEVICE_IS_M71C) {
QUALITY_VGA = 0xa;
QUALITY_SLOW_MOTION = 0xa;
return;
}
QUALITY_VGA = 0x18;
QUALITY_SLOW_MOTION = 0x15;
}

public void initCamcorderProfile(int p1, int p2) {
try {
mIsUseMzProfile = false;
mProfile = CamcorderProfile.get(p1, p2);
return;
} catch(Exception "e") {
if(ApiHelper.DEVICE_IS_M76) {
mIsUseMzProfile = true;
if(p2 == 0x17) {
mMzProfile = new MzCamcorderProfileManager.MzCamcorderProfile(this, 0x3c, p2, 0x2, 0x2, 0x2255100, 0x1e, 0xf00, 0x870, 0x3, 0x17700, 0x3e80, 0x1);
return;
}
if(p2 == QUALITY_SLOW_MOTION) {
mMzProfile = new MzCamcorderProfileManager.MzCamcorderProfile(this, 0x3c, p2, 0x2, 0x2, 0x112a880, 0x64, 0x500, 0x2d0, -0x1, -0x1, -0x1, -0x1);
return;
}
mIsUseMzProfile = false;
}
}
}

public CamcorderProfile getCamcorderProfile() {
return mProfile;
}

public int getVideoFrameWidth() {
if(mIsUseMzProfile) {
return mMzProfile.videoWidth;
}
return mProfile.videoFrameWidth;
}

public int getVideoFrameHeight() {
if(mIsUseMzProfile) {
return mMzProfile.videoHeight;
}
return mProfile.videoFrameHeight;
}

public int getVideoFrameRate() {
if(mIsUseMzProfile) {
return mMzProfile.videoFrameRate;
}
return mProfile.videoFrameRate;
}

public int getFileFormat() {
if(mIsUseMzProfile) {
return mMzProfile.fileFormat;
}
return mProfile.fileFormat;
}

public int getVideoBitRate() {
if(mIsUseMzProfile) {
return mMzProfile.videoBitRate;
}
return mProfile.videoBitRate;
}

public int getVideoEncoder() {
if(mIsUseMzProfile) {
return mMzProfile.videoCodec;
}
return mProfile.videoCodec;
}

public int getVideoDuration() {
if(mIsUseMzProfile) {
return mMzProfile.duration;
}
return mProfile.duration;
}

public int getVideoQuality() {
if(mIsUseMzProfile) {
return mMzProfile.quality;
}
return mProfile.quality;
}

public int getAudioCodec() {
if(mIsUseMzProfile) {
return mMzProfile.audioCodec;
}
return mProfile.audioCodec;
}

public int getAudioBitRate() {
if(mIsUseMzProfile) {
return mMzProfile.audioBitRate;
}
return mProfile.audioBitRate;
}

public int getAudioSampleRate() {
if(mIsUseMzProfile) {
return mMzProfile.audioSampleRate;
}
return mProfile.audioSampleRate;
}

public int getAudioChannels() {
if(mIsUseMzProfile) {
return mMzProfile.audioChannels;
}
return mProfile.audioSampleRate;
}

public void setProfile(MediaRecorder p1) {
if(p1 != null) {
p1.setAudioSource(0x5);
p1.setOutputFormat(mMzProfile.fileFormat);
p1.setVideoFrameRate(mMzProfile.videoFrameRate);
p1.setVideoSize(mMzProfile.videoWidth, mMzProfile.videoHeight);
p1.setVideoEncodingBitRate(mMzProfile.videoBitRate );
p1.setVideoEncoder(mMzProfile.videoCodec);
p1.setAudioEncodingBitRate(mMzProfile.audioBitRate );
p1.setAudioChannels(mMzProfile.audioChannels);
p1.setAudioSamplingRate(mMzProfile.audioSampleRate );
p1.setAudioEncoder(mMzProfile.audioCodec);
}
}

class MzCamcorderProfile {
public int audioBitRate;
public int audioChannels;
public int audioCodec;
public int audioSampleRate;
public int duration;
public int fileFormat;
public int quality;
public int videoBitRate;
public int videoCodec;
public int videoFrameRate;
public int videoHeight;
public int videoWidth;

public MzCamcorderProfile(MzCamcorderProfileManager p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8, int p9, int p10, int p11, int p12, int p13) {
duration = p2;
quality = p3;
fileFormat = p4;
videoCodec = p5;
videoBitRate = p6;
videoFrameRate = p7;
videoWidth = p8;
videoHeight = p9;
audioCodec = p10;
audioBitRate = p11;
audioSampleRate = p12;
audioChannels = p13;
}
}

public static boolean hasProfile(int p1, int p2) {
if((ApiHelper.DEVICE_IS_M76) && (p1 == 0)) {
if(p2 == 0x17) {
return true;
}
}
return CamcorderProfile.hasProfile(p1, p2);
}
}
Dentro de esto vemos que hay un perfil del pro (cámara 76) que voy a ignorar.

Al principio hay lo que se supone varios perfiles de video que son los siguientes:
public class MzCamcorderProfileManager {
public static final int QUALITY_4K = 0x17;
public static int QUALITY_SLOW_MOTION;
public static int QUALITY_VGA;

Esto es útil para después.

El perfirl general parace que es el 71C:

if(ApiHelper.DEVICE_IS_M71C) {
QUALITY_VGA = 0xa;
QUALITY_SLOW_MOTION = 0xa;
return;
}
QUALITY_VGA = 0x18;
QUALITY_SLOW_MOTION = 0x15;

Aquí aparecen los datos de video, 4k sería la entrada 0x17



Otra cosa que he encontrado:

public MzCamcorderProfile(MzCamcorderProfileManager p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8, int p9, int p10, int p11, int p12, int p13) {
duration = p2;
quality = p3;
fileFormat = p4;
videoCodec = p5;
videoBitRate = p6;
videoFrameRate = p7;
videoWidth = p8;
videoHeight = p9;
audioCodec = p10;
audioBitRate = p11;
audioSampleRate = p12;
audioChannels = p13;

Esto dicta la posición de cada elemento en esto, que cogeremos de aquí que coincide con 0X17:

if(p2 == 0x17) {
mMzProfile = new MzCamcorderProfileManager.MzCamcorderProfile(this, 0x3c, p2, 0x2, 0x2, 0x2255100, 0x1e, 0xf00, 0x870, 0x3, 0x17700, 0x3e80, 0x1);

Con lo que yo entiendo (si no me equivoco) que 4k es


duration = 0x3c, ; 60
quality = p3;
fileFormat = 0x2, ; 2
videoCodec = 0x2, ; 2
videoBitRate = 0x2255100, ; 36000000
videoFrameRate = 0x1e, ; 30
videoWidth = 0xf00, ; 3840
videoHeight = 0x870, ; 2160
audioCodec = 0x3, ; 3
audioBitRate = 0x17700, ; 96000
audioSampleRate = 0x3e80; 16000
audioChannels = 0x1; 1

Y slow motion

duration = 0x3c; 60
quality = p3;
fileFormat = 0x2; 2
videoCodec = 0x2; 2
videoBitRate = 0x112a880, ; 18000000
videoFrameRate = 0x64, ; 100
videoWidth = 0x500, ; 1280
videoHeight = 0x2d0, ; 720
audioCodec = -0x1;
audioBitRate = -0x1;
audioSampleRate = -0x1;
audioChannels = -0x1;

De aquí saco estas conclusiones:

Video codec 0x2 es el HEVC que coincide que es el formato (h265) de 4k y slow motion, también muy interesante los valores de audio en slowmotion, si nos fijamos son todos -0x1, que viene a se lo mismo que no hay, es decir, teoricamente podemos rellenar eso con por ejemplo los datos de 4k y tendríamos audio en slowmotion??

He puesto a continuación los valores en decimal y vemos que coincide perfectamente la resolución y FPS, el bitrate y también los valores de audio.

Lo dicho antes, y si cambiamos esos valores sabiendo lo que sabemos de las capacidades del chipset? por ejemplo un slowmotion a 120fps para empezar y con audio? quizás con más calidad?

La cuestión es ahora mirar si se puede modificar sin volverse uno loco directamente en el smali porque si ya me pierdo un poco aquí lo otro es una auténtica locura y además no tengo claro si esto sólo funcionaría para el PRO.
Responder Con Cita
  #9  
Viejo 02/05/15, 22:54:31
Array

[xs_avatar]
kkdlux kkdlux no está en línea
Usuario muy activo
 
Fecha de registro: may 2015
Mensajes: 551
Modelo de smartphone: OnePlus 12
Tu operador: Simyo
Dejo el Smali aquí pegado por si iicc tiene ganas de recompilarlo a ver que hace, aunque por lo que he visto eso es configuración para el pro.

He puesto 120fps y los datos de audio de la otra configuración para experimentar.

Código:
.class public Lcom/meizu/media/camera/MzCamcorderProfileManager;
.super Ljava/lang/Object;
.source "MzCamcorderProfileManager.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;
    }
.end annotation


# static fields
.field public static final QUALITY_4K:I = 0x17

.field public static QUALITY_SLOW_MOTION:I

.field public static QUALITY_VGA:I


# instance fields
.field private mIsUseMzProfile:Z

.field private mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

.field private mProfile:Landroid/media/CamcorderProfile;


# direct methods
.method static constructor <clinit>()V
    .locals 2

    .prologue
    const/16 v1, 0xa

    .line 16
    sget-boolean v0, Lcom/meizu/media/camera/util/ApiHelper;->DEVICE_IS_M71C:Z

    if-eqz v0, :cond_0

    .line 17
    sput v1, Lcom/meizu/media/camera/MzCamcorderProfileManager;->QUALITY_VGA:I

    .line 18
    sput v1, Lcom/meizu/media/camera/MzCamcorderProfileManager;->QUALITY_SLOW_MOTION:I

    .line 23
    :goto_0
    return-void

    .line 20
    :cond_0
    const/16 v0, 0x18

    sput v0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->QUALITY_VGA:I

    .line 21
    const/16 v0, 0x15

    sput v0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->QUALITY_SLOW_MOTION:I

    goto :goto_0
.end method

.method public constructor <init>()V
    .locals 0

    .prologue
    .line 9
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 155
    return-void
.end method

.method public static hasProfile(II)Z
    .locals 1
    .param p0, "cameraId"    # I
    .param p1, "quality"    # I

    .prologue
    .line 189
    sget-boolean v0, Lcom/meizu/media/camera/util/ApiHelper;->DEVICE_IS_M76:Z

    if-eqz v0, :cond_0

    if-nez p0, :cond_0

    .line 190
    const/16 v0, 0x17

    if-ne p1, v0, :cond_0

    .line 191
    const/4 v0, 0x1

    .line 193
    :goto_0
    return v0

    :cond_0
    invoke-static {p0, p1}, Landroid/media/CamcorderProfile;->hasProfile(II)Z

    move-result v0

    goto :goto_0
.end method


# virtual methods
.method public getAudioBitRate()I
    .locals 1

    .prologue
    .line 120
    iget-boolean v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mIsUseMzProfile:Z

    if-eqz v0, :cond_0

    .line 121
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->audioBitRate:I

    .line 123
    :goto_0
    return v0

    :cond_0
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mProfile:Landroid/media/CamcorderProfile;

    iget v0, v0, Landroid/media/CamcorderProfile;->audioBitRate:I

    goto :goto_0
.end method

.method public getAudioChannels()I
    .locals 1

    .prologue
    .line 134
    iget-boolean v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mIsUseMzProfile:Z

    if-eqz v0, :cond_0

    .line 135
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->audioChannels:I

    .line 137
    :goto_0
    return v0

    :cond_0
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mProfile:Landroid/media/CamcorderProfile;

    iget v0, v0, Landroid/media/CamcorderProfile;->audioSampleRate:I

    goto :goto_0
.end method

.method public getAudioCodec()I
    .locals 1

    .prologue
    .line 113
    iget-boolean v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mIsUseMzProfile:Z

    if-eqz v0, :cond_0

    .line 114
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->audioCodec:I

    .line 116
    :goto_0
    return v0

    :cond_0
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mProfile:Landroid/media/CamcorderProfile;

    iget v0, v0, Landroid/media/CamcorderProfile;->audioCodec:I

    goto :goto_0
.end method

.method public getAudioSampleRate()I
    .locals 1

    .prologue
    .line 127
    iget-boolean v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mIsUseMzProfile:Z

    if-eqz v0, :cond_0

    .line 128
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->audioSampleRate:I

    .line 130
    :goto_0
    return v0

    :cond_0
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mProfile:Landroid/media/CamcorderProfile;

    iget v0, v0, Landroid/media/CamcorderProfile;->audioSampleRate:I

    goto :goto_0
.end method

.method public getCamcorderProfile()Landroid/media/CamcorderProfile;
    .locals 1

    .prologue
    .line 53
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mProfile:Landroid/media/CamcorderProfile;

    return-object v0
.end method

.method public getFileFormat()I
    .locals 1

    .prologue
    .line 78
    iget-boolean v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mIsUseMzProfile:Z

    if-eqz v0, :cond_0

    .line 79
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->fileFormat:I

    .line 81
    :goto_0
    return v0

    :cond_0
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mProfile:Landroid/media/CamcorderProfile;

    iget v0, v0, Landroid/media/CamcorderProfile;->fileFormat:I

    goto :goto_0
.end method

.method public getVideoBitRate()I
    .locals 1

    .prologue
    .line 85
    iget-boolean v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mIsUseMzProfile:Z

    if-eqz v0, :cond_0

    .line 86
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->videoBitRate:I

    .line 88
    :goto_0
    return v0

    :cond_0
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mProfile:Landroid/media/CamcorderProfile;

    iget v0, v0, Landroid/media/CamcorderProfile;->videoBitRate:I

    goto :goto_0
.end method

.method public getVideoDuration()I
    .locals 1

    .prologue
    .line 99
    iget-boolean v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mIsUseMzProfile:Z

    if-eqz v0, :cond_0

    .line 100
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->duration:I

    .line 102
    :goto_0
    return v0

    :cond_0
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mProfile:Landroid/media/CamcorderProfile;

    iget v0, v0, Landroid/media/CamcorderProfile;->duration:I

    goto :goto_0
.end method

.method public getVideoEncoder()I
    .locals 1

    .prologue
    .line 92
    iget-boolean v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mIsUseMzProfile:Z

    if-eqz v0, :cond_0

    .line 93
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->videoCodec:I

    .line 95
    :goto_0
    return v0

    :cond_0
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mProfile:Landroid/media/CamcorderProfile;

    iget v0, v0, Landroid/media/CamcorderProfile;->videoCodec:I

    goto :goto_0
.end method

.method public getVideoFrameHeight()I
    .locals 1

    .prologue
    .line 64
    iget-boolean v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mIsUseMzProfile:Z

    if-eqz v0, :cond_0

    .line 65
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->videoHeight:I

    .line 67
    :goto_0
    return v0

    :cond_0
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mProfile:Landroid/media/CamcorderProfile;

    iget v0, v0, Landroid/media/CamcorderProfile;->videoFrameHeight:I

    goto :goto_0
.end method

.method public getVideoFrameRate()I
    .locals 1

    .prologue
    .line 71
    iget-boolean v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mIsUseMzProfile:Z

    if-eqz v0, :cond_0

    .line 72
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->videoFrameRate:I

    .line 74
    :goto_0
    return v0

    :cond_0
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mProfile:Landroid/media/CamcorderProfile;

    iget v0, v0, Landroid/media/CamcorderProfile;->videoFrameRate:I

    goto :goto_0
.end method

.method public getVideoFrameWidth()I
    .locals 1

    .prologue
    .line 57
    iget-boolean v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mIsUseMzProfile:Z

    if-eqz v0, :cond_0

    .line 58
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->videoWidth:I

    .line 60
    :goto_0
    return v0

    :cond_0
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mProfile:Landroid/media/CamcorderProfile;

    iget v0, v0, Landroid/media/CamcorderProfile;->videoFrameWidth:I

    goto :goto_0
.end method

.method public getVideoQuality()I
    .locals 1

    .prologue
    .line 106
    iget-boolean v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mIsUseMzProfile:Z

    if-eqz v0, :cond_0

    .line 107
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->quality:I

    .line 109
    :goto_0
    return v0

    :cond_0
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mProfile:Landroid/media/CamcorderProfile;

    iget v0, v0, Landroid/media/CamcorderProfile;->quality:I

    goto :goto_0
.end method

.method public initCamcorderProfile(II)V
    .locals 16
    .param p1, "cameraId"    # I
    .param p2, "quality"    # I

    .prologue
    .line 31
    const/4 v1, 0x0

    :try_start_0
    move-object/from16 v0, p0

    iput-boolean v1, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mIsUseMzProfile:Z

    .line 32
    invoke-static/range {p1 .. p2}, Landroid/media/CamcorderProfile;->get(II)Landroid/media/CamcorderProfile;

    move-result-object v1

    move-object/from16 v0, p0

    iput-object v1, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mProfile:Landroid/media/CamcorderProfile;
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0

    .line 50
    :cond_0
    :goto_0
    return-void

    .line 33
    :catch_0
    move-exception v15

    .line 34
    .local v15, "e":Ljava/lang/Exception;
    sget-boolean v1, Lcom/meizu/media/camera/util/ApiHelper;->DEVICE_IS_M76:Z

    if-eqz v1, :cond_0

    .line 35
    const/4 v1, 0x1

    move-object/from16 v0, p0

    iput-boolean v1, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mIsUseMzProfile:Z

    .line 36
    const/16 v1, 0x17

    move/from16 v0, p2

    if-ne v0, v1, :cond_1

    .line 37
    new-instance v1, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    const/16 v3, 0x3c

    const/4 v5, 0x2

    const/4 v6, 0x2

    const v7, 0x2255100

    const/16 v8, 0x1e

    const/16 v9, 0xf00

    const/16 v10, 0x870

    const/4 v11, 0x3

    const v12, 0x17700

    const/16 v13, 0x3e80

    const/4 v14, 0x1

    move-object/from16 v2, p0

    move/from16 v4, p2

    invoke-direct/range {v1 .. v14}, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;-><init>(Lcom/meizu/media/camera/MzCamcorderProfileManager;IIIIIIIIIIII)V

    move-object/from16 v0, p0

    iput-object v1, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    goto :goto_0

    .line 41
    :cond_1
    sget v1, Lcom/meizu/media/camera/MzCamcorderProfileManager;->QUALITY_SLOW_MOTION:I

    move/from16 v0, p2

    if-ne v0, v1, :cond_2

    .line 42
    new-instance v1, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    const/16 v3, 0x3c

    const/4 v5, 0x2

    const/4 v6, 0x2

    const v7, 0x112a880

    const/16 v8, 0x78

    const/16 v9, 0x500

    const/16 v10, 0x2d0

    const/4 v11, 0x3

    const/4 v12, 0x17700

    const/4 v13, 0x3e80

    const/4 v14, 0x1

    move-object/from16 v2, p0

    move/from16 v4, p2

    invoke-direct/range {v1 .. v14}, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;-><init>(Lcom/meizu/media/camera/MzCamcorderProfileManager;IIIIIIIIIIII)V

    move-object/from16 v0, p0

    iput-object v1, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    goto :goto_0

    .line 46
    :cond_2
    const/4 v1, 0x0

    move-object/from16 v0, p0

    iput-boolean v1, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mIsUseMzProfile:Z

    goto :goto_0
.end method

.method public setProfile(Landroid/media/MediaRecorder;)V
    .locals 2
    .param p1, "recorder"    # Landroid/media/MediaRecorder;

    .prologue
    .line 141
    if-eqz p1, :cond_0

    .line 142
    const/4 v0, 0x5

    invoke-virtual {p1, v0}, Landroid/media/MediaRecorder;->setAudioSource(I)V

    .line 143
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->fileFormat:I

    invoke-virtual {p1, v0}, Landroid/media/MediaRecorder;->setOutputFormat(I)V

    .line 144
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->videoFrameRate:I

    invoke-virtual {p1, v0}, Landroid/media/MediaRecorder;->setVideoFrameRate(I)V

    .line 145
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->videoWidth:I

    iget-object v1, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v1, v1, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->videoHeight:I

    invoke-virtual {p1, v0, v1}, Landroid/media/MediaRecorder;->setVideoSize(II)V

    .line 146
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->videoBitRate:I

    invoke-virtual {p1, v0}, Landroid/media/MediaRecorder;->setVideoEncodingBitRate(I)V

    .line 147
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->videoCodec:I

    invoke-virtual {p1, v0}, Landroid/media/MediaRecorder;->setVideoEncoder(I)V

    .line 148
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->audioBitRate:I

    invoke-virtual {p1, v0}, Landroid/media/MediaRecorder;->setAudioEncodingBitRate(I)V

    .line 149
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->audioChannels:I

    invoke-virtual {p1, v0}, Landroid/media/MediaRecorder;->setAudioChannels(I)V

    .line 150
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->audioSampleRate:I

    invoke-virtual {p1, v0}, Landroid/media/MediaRecorder;->setAudioSamplingRate(I)V

    .line 151
    iget-object v0, p0, Lcom/meizu/media/camera/MzCamcorderProfileManager;->mMzProfile:Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;

    iget v0, v0, Lcom/meizu/media/camera/MzCamcorderProfileManager$MzCamcorderProfile;->audioCodec:I

    invoke-virtual {p1, v0}, Landroid/media/MediaRecorder;->setAudioEncoder(I)V

    .line 153
    :cond_0
    return-void
.end method
MzCamcorderProfileManager.smali

En smali/com/meizu/media/camera

Última edición por kkdlux Día 02/05/15 a las 22:57:01.
Responder Con Cita
  #10  
Viejo 02/05/15, 23:03:06
Array

[xs_avatar]
iicc iicc no está en línea
Superuser
 
Fecha de registro: ene 2014
Localización: Murcia
Mensajes: 6,095
Modelo de smartphone: Meizu MX5/Meizu M1 Note
Tu operador: Amena
Justo lo acababa de hacer jaja
Está compilado, ahora lo subo
Responder Con Cita
  #11  
Viejo 02/05/15, 23:07:37
Array

[xs_avatar]
iicc iicc no está en línea
Superuser
 
Fecha de registro: ene 2014
Localización: Murcia
Mensajes: 6,095
Modelo de smartphone: Meizu MX5/Meizu M1 Note
Tu operador: Amena
Aquí está, solo puse lo de los 120 fps: https://drive.google.com/file/d/0B1W...ew?usp=sharing

Ahora la pruebo
Responder Con Cita
  #12  
Viejo 02/05/15, 23:14:23
Array

[xs_avatar]
canitokintax canitokintax no está en línea
Usuario muy activo
· Votos compra/venta: (2)
 
Fecha de registro: nov 2011
Mensajes: 1,578
Modelo de smartphone: xperia neo
Tu operador: Movistar
Muy buena esta iniciativa. Lastima que todo me suene a chino
Responder Con Cita
Gracias de parte de:
  #13  
Viejo 02/05/15, 23:15:55
Array

[xs_avatar]
iicc iicc no está en línea
Superuser
 
Fecha de registro: ene 2014
Localización: Murcia
Mensajes: 6,095
Modelo de smartphone: Meizu MX5/Meizu M1 Note
Tu operador: Amena
mmm con el cambio del audio en cámara lenta da error al compilar...
Responder Con Cita
  #14  
Viejo 02/05/15, 23:20:16
Array

[xs_avatar]
iicc iicc no está en línea
Superuser
 
Fecha de registro: ene 2014
Localización: Murcia
Mensajes: 6,095
Modelo de smartphone: Meizu MX5/Meizu M1 Note
Tu operador: Amena
Voy a probar más configuraciones, con el audio da este error:
Código:
I: Using Apktool 2.0.0-RC4
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
Camera\smali\com\meizu\media\camera\MzCamcorderProfileManager.smali[552,4] 96000
 cannot fit into a short
Camera\smali\com\meizu\media\camera\MzCamcorderProfileManager.smali[554,4] misma
tched tree node: I_STATEMENT_FORMAT11n expecting I_CATCHES
Camera\smali\com\meizu\media\camera\MzCamcorderProfileManager.smali[556,4] misma
tched tree node: I_STATEMENT_FORMAT11n expecting <UP>
Exception in thread "main" brut.androlib.AndrolibException: Could not smali file
: com/meizu/media/camera/MzCamcorderProfileManager.smali
Responder Con Cita
  #15  
Viejo 02/05/15, 23:43:39
Array

[xs_avatar]
iicc iicc no está en línea
Superuser
 
Fecha de registro: ene 2014
Localización: Murcia
Mensajes: 6,095
Modelo de smartphone: Meizu MX5/Meizu M1 Note
Tu operador: Amena
Más cosas interesantes del modo manual

[php] public class ManualMode extends CameraMode implements MzManualUI.ManualUIListener {
public static String MANUAL_CONTRAST_KEY = null;
public static String MANUAL_EXPOSURE_KEY = null;
public static String MANUAL_FOCUS_KEY = null;
public static final int MANUAL_FOCUS_MAX = 0x3ff;
public static String MANUAL_ISO_KEY;
public static String MANUAL_SATURATION_KEY;
public static String MANUAL_SHUTTER_SPEED_KEY;
public static String MANUAL_WB_KEY;
private static HashMap SHTTER_SPEED_FORMAT;
private static long SHUTTER_SPEED_TOO_LONG;
private MzCamParamsManager mCamParamsManager;
private Context mCtx;
private HashMap mDataManager;
private MzManualUI mManualUI;
private boolean mUserFocusMode = true;

static {
SHUTTER_SPEED_TOO_LONG = 0x7d0;
MANUAL_SHUTTER_SPEED_KEY = "shutter-value-supported";
MANUAL_ISO_KEY = "iso-speed-values";
MANUAL_EXPOSURE_KEY = "exposure";
MANUAL_FOCUS_KEY = "mf-pos";
MANUAL_CONTRAST_KEY = "contrast-values";
MANUAL_SATURATION_KEY = "saturation-values";
MANUAL_WB_KEY = "whitebalance-values";
if((ApiHelper.DEVICE_IS_MX2) || (ApiHelper.DEVICE_IS_MX3) || (ApiHelper.DEVICE_IS_M71C)) {
MANUAL_SHUTTER_SPEED_KEY = "shutter-speed-supported";
MANUAL_ISO_KEY = "iso-values";
}
}
private boolean mReleased = false;

public ManualMode(CameraActivity p1, MzCamParamsManager p2, MzUIController p3, CameraModeListener p4) {
super(p1, p2, p3, p4);
mCtx = p1.getApplicationContext();
mCamParamsManager = p2;
mReleased = false;
if(SHTTER_SPEED_FORMAT == null) {
SHTTER_SPEED_FORMAT = new HashMap();
if(ApiHelper.DEVICE_IS_MX3) {
SHTTER_SPEED_FORMAT.put("125", "1/8s");
SHTTER_SPEED_FORMAT.put("250", "1/4s");
SHTTER_SPEED_FORMAT.put("500", "1/2s");
SHTTER_SPEED_FORMAT.put("1000", "1s");
SHTTER_SPEED_FORMAT.put("1500", "1.5s");
} else {
SHTTER_SPEED_FORMAT.put("125", "1/8000s");
SHTTER_SPEED_FORMAT.put("200", "1/5000s");
SHTTER_SPEED_FORMAT.put("250", "1/4000s");
SHTTER_SPEED_FORMAT.put("500", "1/2000s");
SHTTER_SPEED_FORMAT.put("1000", "1/1000s");
SHTTER_SPEED_FORMAT.put("2000", "1/500s");
SHTTER_SPEED_FORMAT.put("5000", "1/200s");
SHTTER_SPEED_FORMAT.put("10000", "1/100s");
SHTTER_SPEED_FORMAT.put("20000", "1/50s");
SHTTER_SPEED_FORMAT.put("50000", "1/20s");
SHTTER_SPEED_FORMAT.put("100000", "1/10s");
SHTTER_SPEED_FORMAT.put("200000", "1/5s");
}


public void setManualValue(String p1) {
if(MANUAL_SHUTTER_SPEED_KEY.equals(p1)) {
handleSMBbySpeed();
savePreferences("mz_pref_shutterspeed_key", MANUAL_SHUTTER_SPEED_KEY);
} else if(MANUAL_ISO_KEY.equals(p1)) {
savePreferences("mz_pref_iso_key", MANUAL_ISO_KEY);
} else if(MANUAL_EXPOSURE_KEY.equals(p1)) {
savePreferences("pref_camera_exposure_key", MANUAL_EXPOSURE_KEY);
} else if(MANUAL_FOCUS_KEY.equals(p1)) {
savePreferences("mz_pref_manualfocus", MANUAL_FOCUS_KEY);
mUserFocusMode = true;
setManualFocus((ManualMode.ManualData)mDataManager .get(p1).getCurrentValue());
} else if(MANUAL_WB_KEY.equals(p1)) {
savePreferences("pref_camera_whitebalance_key", MANUAL_WB_KEY);
} else if(MANUAL_SATURATION_KEY.equals(p1)) {
savePreferences("mz_pref_saturation", MANUAL_SATURATION_KEY);
} else if(MANUAL_CONTRAST_KEY.equals(p1)) {
savePreferences("mz_pref_contrast", MANUAL_CONTRAST_KEY);
}
getParamsMgr().setCameraParameters(0x4);
}[/php]Curioso esto que dice si el móvil es de china mobile, tiene las funciones de balance de blancos, saturación....
[php]if(ApiHelper.DEVICE_IS_MEIZU) {
ManualMode.ManualData "exposure" = new ManualMode.ManualData(this, MANUAL_EXPOSURE_KEY, getParamsMgr().getParams(), p1);
if(ManualMode.ManualData.access$300("exposure") != null) {
mDataManager.put(MANUAL_EXPOSURE_KEY, "exposure");
}
ManualMode.ManualData "mfocus" = new ManualMode.ManualData(this, MANUAL_FOCUS_KEY, getParamsMgr().getParams(), p1);
if(ManualMode.ManualData.access$300("mfocus") != null) {
mDataManager.put(MANUAL_FOCUS_KEY, "mfocus");
}
ManualMode.ManualData "iso" = new ManualMode.ManualData(this, MANUAL_ISO_KEY, getParamsMgr().getParams(), p1);
if(ManualMode.ManualData.access$300("iso") != null) {
mDataManager.put(MANUAL_ISO_KEY, "iso");
}
ManualMode.ManualData "shutterspeed" = new ManualMode.ManualData(this, MANUAL_SHUTTER_SPEED_KEY, getParamsMgr().getParams(), p1);
if(ManualMode.ManualData.access$300("shutterspeed" ) != null) {
mDataManager.put(MANUAL_SHUTTER_SPEED_KEY, "shutterspeed");
}
if(ApiHelper.DEVICE_IS_CHINA_MOBILE) {
ManualMode.ManualData "wb" = new ManualMode.ManualData(this, MANUAL_WB_KEY, getParamsMgr().getParams(), p1);
if(ManualMode.ManualData.access$300("wb") != null) {
mDataManager.put(MANUAL_WB_KEY, "wb");
}
ManualMode.ManualData "saturation" = new ManualMode.ManualData(this, MANUAL_SATURATION_KEY, getParamsMgr().getParams(), p1);
if(ManualMode.ManualData.access$300("saturation") != null) {
mDataManager.put(MANUAL_SATURATION_KEY, "saturation");
}
ManualMode.ManualData "contrast" = new ManualMode.ManualData(this, MANUAL_CONTRAST_KEY, getParamsMgr().getParams(), p1);
if(ManualMode.ManualData.access$300("contrast") != null) {
mDataManager.put(MANUAL_CONTRAST_KEY, "contrast");
}
}
return;[/php]Un apunte:

M75 ---> MX4
M76 -->MX4 PRO
M71 -->M1 Note
M71C -->M71C
M79 -->M1 Mini



He puesto que grabe la cámara a 100 fps y a 1080p pero sigue grabando igual.. habrá que probar con un mx4 pro



De todas formas esto está bastante complicado de modificar la verdad..

Última edición por iicc Día 03/05/15 a las 02:51:28.
Responder Con Cita
  #16  
Viejo 03/05/15, 09:06:05
Array

[xs_avatar]
kkdlux kkdlux no está en línea
Usuario muy activo
 
Fecha de registro: may 2015
Mensajes: 551
Modelo de smartphone: OnePlus 12
Tu operador: Simyo
Yo seguire buscando a ver si aparece en otro smali la configuración del MX4, con tantos es un lío.
A ver si alguien con una rom U nos puede decir si hay más opciones de cámara, que supongo que es lo de china mobile.
Se supone que si cambiamos:

ApiHelper.DEVICE_IS_CHINA_MOBILE
Por
ApiHelper.DEVICE_IS_MEIZU

Activa el resto, lo he mirado por encima de todas maneras.
Responder Con Cita
  #17  
Viejo 03/05/15, 10:48:38
Array

[xs_avatar]
iicc iicc no está en línea
Superuser
 
Fecha de registro: ene 2014
Localización: Murcia
Mensajes: 6,095
Modelo de smartphone: Meizu MX5/Meizu M1 Note
Tu operador: Amena
 Cita: Originalmente Escrito por kkdlux Ver Mensaje
Yo seguire buscando a ver si aparece en otro smali la configuración del MX4, con tantos es un lío.
A ver si alguien con una rom U nos puede decir si hay más opciones de cámara, que supongo que es lo de china mobile.
Se supone que si cambiamos:

ApiHelper.DEVICE_IS_CHINA_MOBILE
Por
ApiHelper.DEVICE_IS_MEIZU

Activa el resto, lo he mirado por encima de todas maneras.
Creo que los de china mobile es la rom C, no la U.

De todas formas ya lo probé y da error al compilar
Responder Con Cita
  #18  
Viejo 03/05/15, 21:47:07
Array

[xs_avatar]
kkdlux kkdlux no está en línea
Usuario muy activo
 
Fecha de registro: may 2015
Mensajes: 551
Modelo de smartphone: OnePlus 12
Tu operador: Simyo
Creo que el tema video por el momento lo voy a dejar porque mirando en mediatek.labs hablan de los perfiles creados en las apis y al parecer en la 21 que corresponde a lollipop tienen en el lenguaje resoluciones y fps más altos, aunque se ve que han introducido el 4k de alguna manera.

He visto alguna entrada que habla sólo de la altura del video y ponen un límite de 720p para slowmotion, a ver si con lollipop realmente se puede hacer algo aunque por lo visto en el pro poco han cambiado.
Responder Con Cita
  #19  
Viejo 03/05/15, 21:55:00
Array

[xs_avatar]
iicc iicc no está en línea
Superuser
 
Fecha de registro: ene 2014
Localización: Murcia
Mensajes: 6,095
Modelo de smartphone: Meizu MX5/Meizu M1 Note
Tu operador: Amena
He estado probando la cámara en el pro, y a 100fps a 1080p, graba a 1080p pero no en slowmotion.

Y probé a meterle 200fps a 480p y crashea el móvil entero, justo cuando le doy a grabar peta.
Esto en Lollipop
Responder Con Cita


  #20  
Viejo 03/05/15, 23:39:02
Array

[xs_avatar]
kkdlux kkdlux no está en línea
Usuario muy activo
 
Fecha de registro: may 2015
Mensajes: 551
Modelo de smartphone: OnePlus 12
Tu operador: Simyo
Y tocando el media-profiles del pro?
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Marcas de importación > Meizu > Meizu MX4 > ROMs y desarrollo Meizu MX4



Hora actual: 09:27:54 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /