/*
 * Copyright (C) 2012-2015 Mozilla Foundation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * DO NOT PUT RE-INCLUSION GUARD MACROS AROUND THIS HEADER!!!
 */

#ifndef DEF_GONK_RECORDER_PROFILE
#define DEF_GONK_RECORDER_PROFILE(e, n, p)
#endif

#ifndef DEF_GONK_RECORDER_PROFILE_DETECT
#define DEF_GONK_RECORDER_PROFILE_DETECT(n, w, h, p)
#endif

/* Enum value, name, and priority. The supported profile with the
 * lowest priority and then largest area is selected as the default.
 */

DEF_GONK_RECORDER_PROFILE(CAMCORDER_QUALITY_LOW,   "low",   900)
DEF_GONK_RECORDER_PROFILE(CAMCORDER_QUALITY_HIGH,  "high",  900)
DEF_GONK_RECORDER_PROFILE(CAMCORDER_QUALITY_QCIF,  "qcif",  300)
DEF_GONK_RECORDER_PROFILE(CAMCORDER_QUALITY_CIF,   "cif",   300)
DEF_GONK_RECORDER_PROFILE(CAMCORDER_QUALITY_480P,  "480p",  200)
DEF_GONK_RECORDER_PROFILE(CAMCORDER_QUALITY_720P,  "720p",  100)
DEF_GONK_RECORDER_PROFILE(CAMCORDER_QUALITY_1080P, "1080p",   0)

/**
 * The following profiles do not appear in all versions of the
 * MediaProfiles.h and must be detected at runtime. Additionally some
 * profiles may have more than one resolution, depending on the camera.
 */

DEF_GONK_RECORDER_PROFILE_DETECT("4kuhd", 3840, 2160, 800)
DEF_GONK_RECORDER_PROFILE_DETECT("fwvga",  864,  480, 200)
DEF_GONK_RECORDER_PROFILE_DETECT("fwvga",  854,  480, 200)
DEF_GONK_RECORDER_PROFILE_DETECT("wvga",   800,  480, 200)
DEF_GONK_RECORDER_PROFILE_DETECT("wvga",   768,  480, 200)
DEF_GONK_RECORDER_PROFILE_DETECT("vga",    640,  480, 200)
DEF_GONK_RECORDER_PROFILE_DETECT("hvga",   480,  320, 300)
DEF_GONK_RECORDER_PROFILE_DETECT("wqvga",  400,  240, 300)
DEF_GONK_RECORDER_PROFILE_DETECT("qvga",   320,  240, 300)

#undef DEF_GONK_RECORDER_PROFILE
#undef DEF_GONK_RECORDER_PROFILE_DETECT
