Blame view

3rdparty/ffmpeg-4.4.4/libavcodec/avs3.h 3.63 KB
09c2d08c   Hu Chunming   arm交付版
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
  /*
   *  AVS3 related definitions
   *
   * Copyright (C) 2020 Huiwen Ren, <hwrenx@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_AVS3_H
  #define AVCODEC_AVS3_H
  
  #define AVS3_NAL_START_CODE          0x010000
  #define AVS3_SEQ_START_CODE          0xB0
  #define AVS3_SEQ_END_CODE            0xB1
  #define AVS3_USER_DATA_START_CODE    0xB2
  #define AVS3_INTRA_PIC_START_CODE    0xB3
  #define AVS3_UNDEF_START_CODE        0xB4
  #define AVS3_EXTENSION_START_CODE    0xB5
  #define AVS3_INTER_PIC_START_CODE    0xB6
  #define AVS3_VIDEO_EDIT_CODE         0xB7
  #define AVS3_FIRST_SLICE_START_CODE  0x00
  #define AVS3_PROFILE_BASELINE_MAIN   0x20
  #define AVS3_PROFILE_BASELINE_MAIN10 0x22
  
  #define AVS3_ISPIC(x) ((x) == AVS3_INTRA_PIC_START_CODE || (x) == AVS3_INTER_PIC_START_CODE)
  #define AVS3_ISUNIT(x) ((x) == AVS3_SEQ_START_CODE || AVS3_ISPIC(x))
  
  #include "libavutil/avutil.h"
  #include "libavutil/pixfmt.h"
  #include "libavutil/rational.h"
  
  static const AVRational ff_avs3_frame_rate_tab[16] = {
      { 0    , 0   }, // forbid
      { 24000, 1001},
      { 24   , 1   },
      { 25   , 1   },
      { 30000, 1001},
      { 30   , 1   },
      { 50   , 1   },
      { 60000, 1001},
      { 60   , 1   },
      { 100  , 1   },
      { 120  , 1   },
      { 200  , 1   },
      { 240  , 1   },
      { 300  , 1   },
      { 0    , 0   }, // reserved
      { 0    , 0   }  // reserved
  };
  
  static const int ff_avs3_color_primaries_tab[10] = {
      AVCOL_PRI_RESERVED0   ,    // 0
      AVCOL_PRI_BT709       ,    // 1
      AVCOL_PRI_UNSPECIFIED ,    // 2
      AVCOL_PRI_RESERVED    ,    // 3
      AVCOL_PRI_BT470M      ,    // 4
      AVCOL_PRI_BT470BG     ,    // 5
      AVCOL_PRI_SMPTE170M   ,    // 6
      AVCOL_PRI_SMPTE240M   ,    // 7
      AVCOL_PRI_FILM        ,    // 8
      AVCOL_PRI_BT2020           // 9
  };
  
  static const int ff_avs3_color_transfer_tab[15] = {
      AVCOL_TRC_RESERVED0    , // 0
      AVCOL_TRC_BT709        , // 1
      AVCOL_TRC_UNSPECIFIED  , // 2
      AVCOL_TRC_RESERVED     , // 3
      AVCOL_TRC_GAMMA22      , // 4
      AVCOL_TRC_GAMMA28      , // 5
      AVCOL_TRC_SMPTE170M    , // 6
      AVCOL_TRC_SMPTE240M    , // 7
      AVCOL_TRC_LINEAR       , // 8
      AVCOL_TRC_LOG          , // 9
      AVCOL_TRC_LOG_SQRT     , // 10
      AVCOL_TRC_BT2020_12    , // 11
      AVCOL_TRC_SMPTE2084    , // 12
      AVCOL_TRC_UNSPECIFIED  , // 13
      AVCOL_TRC_ARIB_STD_B67   // 14
  };
  
  static const int ff_avs3_color_matrix_tab[12] = {
      AVCOL_SPC_RESERVED     , // 0
      AVCOL_SPC_BT709        , // 1
      AVCOL_SPC_UNSPECIFIED  , // 2
      AVCOL_SPC_RESERVED     , // 3
      AVCOL_SPC_FCC          , // 4
      AVCOL_SPC_BT470BG      , // 5
      AVCOL_SPC_SMPTE170M    , // 6
      AVCOL_SPC_SMPTE240M    , // 7
      AVCOL_SPC_BT2020_NCL   , // 8
      AVCOL_SPC_BT2020_CL    , // 9
      AVCOL_SPC_UNSPECIFIED  , // 10
      AVCOL_SPC_UNSPECIFIED    // 11
  };
  
  static const enum AVPictureType ff_avs3_image_type[4] = {
      AV_PICTURE_TYPE_NONE,
      AV_PICTURE_TYPE_I,
      AV_PICTURE_TYPE_P,
      AV_PICTURE_TYPE_B
  };
  
  #endif /* AVCODEC_AVS3_H */