mirror of https://github.com/FFmpeg/FFmpeg.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
2.5 KiB
94 lines
2.5 KiB
/* |
|
* JPEG XL Common Header Definitions |
|
* Copyright (c) 2023 Leo Izen <leo.izen@gmail.com> |
|
* |
|
* This file is part of FFmpeg. |
|
* |
|
* FFmpeg is free software; you can redistribute it and/or |
|
* modify it under the terms of the GNU Lesser General Public |
|
* License as published by the Free Software Foundation; either |
|
* version 2.1 of the License, or (at your option) any later version. |
|
* |
|
* FFmpeg is distributed in the hope that it will be useful, |
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
* Lesser General Public License for more details. |
|
* |
|
* You should have received a copy of the GNU Lesser General Public |
|
* License along with FFmpeg; if not, write to the Free Software |
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
|
*/ |
|
|
|
#ifndef AVCODEC_JPEGXL_H |
|
#define AVCODEC_JPEGXL_H |
|
|
|
#define FF_JPEGXL_CODESTREAM_SIGNATURE_LE 0x0aff |
|
#define FF_JPEGXL_CONTAINER_SIGNATURE_LE 0x204c584a0c000000 |
|
#define FF_JPEGXL_CODESTREAM_SIGNATURE_BE 0xff0a |
|
#define FF_JPEGXL_CONTAINER_SIGNATURE_BE 0x0000000c4a584c20 |
|
|
|
typedef enum FFJXLFrameEncoding { |
|
JPEGXL_ENC_VARDCT, |
|
JPEGXL_ENC_MODULAR |
|
} FFJXLFrameEncoding; |
|
|
|
typedef enum FFJXLFrameType { |
|
JPEGXL_FRAME_REGULAR, |
|
JPEGXL_FRAME_LF, |
|
JPEGXL_FRAME_REFERENCE_ONLY, |
|
JPEGXL_FRAME_SKIP_PROGRESSIVE |
|
} FFJXLFrameType; |
|
|
|
typedef enum FFJXLBlendMode { |
|
JPEGXL_BM_REPLACE, |
|
JPEGXL_BM_ADD, |
|
JPEGXL_BM_BLEND, |
|
JPEGXL_BM_MULADD, |
|
JPEGXL_BM_MUL |
|
} FFJXLBlendMode; |
|
|
|
typedef enum FFJXLExtraChannelType { |
|
JPEGXL_CT_ALPHA = 0, |
|
JPEGXL_CT_DEPTH, |
|
JPEGXL_CT_SPOT_COLOR, |
|
JPEGXL_CT_SELECTION_MASK, |
|
JPEGXL_CT_BLACK, |
|
JPEGXL_CT_CFA, |
|
JPEGXL_CT_THERMAL, |
|
JPEGXL_CT_NON_OPTIONAL = 15, |
|
JPEGXL_CT_OPTIONAL |
|
} FFJXLExtraChannelType; |
|
|
|
typedef enum FFJXLColorSpace { |
|
JPEGXL_CS_RGB = 0, |
|
JPEGXL_CS_GRAY, |
|
JPEGXL_CS_XYB, |
|
JPEGXL_CS_UNKNOWN |
|
} FFJXLColorSpace; |
|
|
|
typedef enum FFJXLWhitePoint { |
|
JPEGXL_WP_D65 = 1, |
|
JPEGXL_WP_CUSTOM, |
|
JPEGXL_WP_E = 10, |
|
JPEGXL_WP_DCI = 11 |
|
} FFJXLWhitePoint; |
|
|
|
typedef enum FFJXLPrimaries { |
|
JPEGXL_PR_SRGB = 1, |
|
JPEGXL_PR_CUSTOM, |
|
JPEGXL_PR_2100 = 9, |
|
JPEGXL_PR_P3 = 11, |
|
} FFJXLPrimaries; |
|
|
|
typedef enum FFJXLTransferCharacteristic { |
|
JPEGXL_TR_BT709 = 1, |
|
JPEGXL_TR_UNKNOWN, |
|
JPEGXL_TR_LINEAR = 8, |
|
JPEGXL_TR_SRGB = 13, |
|
JPEGXL_TR_PQ = 16, |
|
JPEGXL_TR_DCI, |
|
JPEGXL_TR_HLG, |
|
JPEGXL_TR_GAMMA = 1 << 24, |
|
} FFJXLTransferCharacteristic; |
|
|
|
#endif /* AVCODEC_JPEGXL_H */
|
|
|