FFmpeg
Loading...
Searching...
No Matches
avs3.h
Go to the documentation of this file.
1/*
2 * AVS3 related definitions
3 *
4 * Copyright (C) 2020 Huiwen Ren, <hwrenx@gmail.com>
5 *
6 * This file is part of FFmpeg.
7 *
8 * FFmpeg is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
12 *
13 * FFmpeg is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with FFmpeg; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 */
22
23#ifndef AVCODEC_AVS3_H
24#define AVCODEC_AVS3_H
25
26#define AVS3_NAL_START_CODE 0x010000
27#define AVS3_SEQ_START_CODE 0xB0
28#define AVS3_SEQ_END_CODE 0xB1
29#define AVS3_USER_DATA_START_CODE 0xB2
30#define AVS3_INTRA_PIC_START_CODE 0xB3
31#define AVS3_UNDEF_START_CODE 0xB4
32#define AVS3_EXTENSION_START_CODE 0xB5
33#define AVS3_INTER_PIC_START_CODE 0xB6
34#define AVS3_VIDEO_EDIT_CODE 0xB7
35#define AVS3_FIRST_SLICE_START_CODE 0x00
36#define AVS3_PROFILE_BASELINE_MAIN 0x20
37#define AVS3_PROFILE_BASELINE_MAIN10 0x22
38
39#define AVS3_ISPIC(x) ((x) == AVS3_INTRA_PIC_START_CODE || (x) == AVS3_INTER_PIC_START_CODE)
40#define AVS3_ISUNIT(x) ((x) == AVS3_SEQ_START_CODE || AVS3_ISPIC(x))
41
42#include "libavutil/avutil.h"
43#include "libavutil/pixfmt.h"
44#include "libavutil/rational.h"
45
47 { 0 , 0 }, // forbid
48 { 24000, 1001},
49 { 24 , 1 },
50 { 25 , 1 },
51 { 30000, 1001},
52 { 30 , 1 },
53 { 50 , 1 },
54 { 60000, 1001},
55 { 60 , 1 },
56 { 100 , 1 },
57 { 120 , 1 },
58 { 200 , 1 },
59 { 240 , 1 },
60 { 300 , 1 },
61 { 0 , 0 }, // reserved
62 { 0 , 0 } // reserved
63};
64
65static const int ff_avs3_color_primaries_tab[10] = {
67 AVCOL_PRI_BT709 , // 1
70 AVCOL_PRI_BT470M , // 4
74 AVCOL_PRI_FILM , // 8
76};
77
95
96static const int ff_avs3_color_matrix_tab[12] = {
98 AVCOL_SPC_BT709 , // 1
100 AVCOL_SPC_RESERVED , // 3
101 AVCOL_SPC_FCC , // 4
102 AVCOL_SPC_BT470BG , // 5
109};
110
117
118#endif /* AVCODEC_AVS3_H */
static const AVRational ff_avs3_frame_rate_tab[16]
Definition avs3.h:46
static const int ff_avs3_color_primaries_tab[10]
Definition avs3.h:65
static const int ff_avs3_color_transfer_tab[15]
Definition avs3.h:78
static enum AVPictureType ff_avs3_image_type[4]
Definition avs3.h:111
static const int ff_avs3_color_matrix_tab[12]
Definition avs3.h:96
Convenience header that includes libavutil's core.
AVPictureType
Definition avutil.h:276
@ AV_PICTURE_TYPE_I
Intra.
Definition avutil.h:278
@ AV_PICTURE_TYPE_NONE
Undefined.
Definition avutil.h:277
@ AV_PICTURE_TYPE_P
Predicted.
Definition avutil.h:279
@ AV_PICTURE_TYPE_B
Bi-dir predicted.
Definition avutil.h:280
pixel format definitions
@ AVCOL_PRI_BT470BG
also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM
Definition pixfmt.h:649
@ AVCOL_PRI_FILM
colour filters using Illuminant C
Definition pixfmt.h:652
@ AVCOL_PRI_BT709
also ITU-R BT1361 / IEC 61966-2-4 / SMPTE RP 177 Annex B
Definition pixfmt.h:644
@ AVCOL_PRI_RESERVED
Definition pixfmt.h:646
@ AVCOL_PRI_SMPTE240M
identical to above, also called "SMPTE C" even though it uses D65
Definition pixfmt.h:651
@ AVCOL_PRI_UNSPECIFIED
Definition pixfmt.h:645
@ AVCOL_PRI_RESERVED0
Definition pixfmt.h:643
@ AVCOL_PRI_SMPTE170M
also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC
Definition pixfmt.h:650
@ AVCOL_PRI_BT2020
ITU-R BT2020.
Definition pixfmt.h:653
@ AVCOL_PRI_BT470M
also FCC Title 47 Code of Federal Regulations 73.682 (a)(20)
Definition pixfmt.h:647
@ AVCOL_TRC_SMPTE170M
also ITU-R BT601-6 525 or 625 / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC
Definition pixfmt.h:679
@ AVCOL_TRC_SMPTE2084
SMPTE ST 2084 for 10-, 12-, 14- and 16-bit systems.
Definition pixfmt.h:689
@ AVCOL_TRC_GAMMA22
also ITU-R BT470M / ITU-R BT1700 625 PAL & SECAM
Definition pixfmt.h:677
@ AVCOL_TRC_RESERVED
Definition pixfmt.h:676
@ AVCOL_TRC_SMPTE240M
Definition pixfmt.h:680
@ AVCOL_TRC_LOG
"Logarithmic transfer characteristic (100:1 range)"
Definition pixfmt.h:682
@ AVCOL_TRC_LINEAR
"Linear transfer characteristics"
Definition pixfmt.h:681
@ AVCOL_TRC_GAMMA28
also ITU-R BT470BG
Definition pixfmt.h:678
@ AVCOL_TRC_ARIB_STD_B67
ARIB STD-B67, known as "Hybrid log-gamma".
Definition pixfmt.h:693
@ AVCOL_TRC_LOG_SQRT
"Logarithmic transfer characteristic (100 * Sqrt(10) : 1 range)"
Definition pixfmt.h:683
@ AVCOL_TRC_BT2020_12
ITU-R BT2020 for 12-bit system.
Definition pixfmt.h:688
@ AVCOL_TRC_UNSPECIFIED
Definition pixfmt.h:675
@ AVCOL_TRC_BT709
also ITU-R BT1361
Definition pixfmt.h:674
@ AVCOL_TRC_RESERVED0
Definition pixfmt.h:673
@ AVCOL_SPC_BT709
also ITU-R BT1361 / IEC 61966-2-4 xvYCC709 / derived in SMPTE RP 177 Annex B
Definition pixfmt.h:708
@ AVCOL_SPC_BT470BG
also ITU-R BT601-6 625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM / IEC 61966-2-4 xvYCC601
Definition pixfmt.h:712
@ AVCOL_SPC_BT2020_CL
ITU-R BT2020 constant luminance system.
Definition pixfmt.h:718
@ AVCOL_SPC_BT2020_NCL
ITU-R BT2020 non-constant luminance system.
Definition pixfmt.h:717
@ AVCOL_SPC_UNSPECIFIED
Definition pixfmt.h:709
@ AVCOL_SPC_SMPTE170M
also ITU-R BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC / functionally identical to above
Definition pixfmt.h:713
@ AVCOL_SPC_FCC
FCC Title 47 Code of Federal Regulations 73.682 (a)(20)
Definition pixfmt.h:711
@ AVCOL_SPC_SMPTE240M
derived from 170M primaries and D65 white point, 170M is derived from BT470 System M's primaries
Definition pixfmt.h:714
@ AVCOL_SPC_RESERVED
reserved for future use by ITU-T and ISO/IEC just like 15-255 are
Definition pixfmt.h:710
Utilities for rational number calculation.
Rational number (pair of numerator and denominator).
Definition rational.h:58