| 
    FFmpeg
    
   | 
 
#include "libavutil/attributes.h"#include "libavutil/avassert.h"#include "bytestream.h"#include "cbs.h"#include "cbs_internal.h"#include "cbs_h264.h"#include "cbs_h265.h"#include "h264.h"#include "h2645_parse.h"#include "hevc.h"#include "cbs_sei_syntax_template.c"#include "cbs_h264_syntax_template.c"#include "cbs_h265_syntax_template.c"Go to the source code of this file.
Macros | |
| #define | HEADER(name) | 
| #define | CHECK(call) | 
| #define | FUNC_NAME2(rw, codec, name) cbs_ ## codec ## _ ## rw ## _ ## name | 
| #define | FUNC_NAME1(rw, codec, name) FUNC_NAME2(rw, codec, name) | 
| #define | FUNC_H264(name) FUNC_NAME1(READWRITE, h264, name) | 
| #define | FUNC_H265(name) FUNC_NAME1(READWRITE, h265, name) | 
| #define | FUNC_SEI(name) FUNC_NAME1(READWRITE, sei, name) | 
| #define | SUBSCRIPTS(subs, ...) (subs > 0 ? ((int[subs + 1]){ subs, __VA_ARGS__ }) : NULL) | 
| #define | u(width, name, range_min, range_max) xu(width, name, current->name, range_min, range_max, 0, ) | 
| #define | ub(width, name) xu(width, name, current->name, 0, MAX_UINT_BITS(width), 0, ) | 
| #define | flag(name) ub(1, name) | 
| #define | ue(name, range_min, range_max) xue(name, current->name, range_min, range_max, 0, ) | 
| #define | i(width, name, range_min, range_max) xi(width, name, current->name, range_min, range_max, 0, ) | 
| #define | ib(width, name) xi(width, name, current->name, MIN_INT_BITS(width), MAX_INT_BITS(width), 0, ) | 
| #define | se(name, range_min, range_max) xse(name, current->name, range_min, range_max, 0, ) | 
| #define | us(width, name, range_min, range_max, subs, ...) xu(width, name, current->name, range_min, range_max, subs, __VA_ARGS__) | 
| #define | ubs(width, name, subs, ...) xu(width, name, current->name, 0, MAX_UINT_BITS(width), subs, __VA_ARGS__) | 
| #define | flags(name, subs, ...) xu(1, name, current->name, 0, 1, subs, __VA_ARGS__) | 
| #define | ues(name, range_min, range_max, subs, ...) xue(name, current->name, range_min, range_max, subs, __VA_ARGS__) | 
| #define | is(width, name, range_min, range_max, subs, ...) xi(width, name, current->name, range_min, range_max, subs, __VA_ARGS__) | 
| #define | ibs(width, name, subs, ...) xi(width, name, current->name, MIN_INT_BITS(width), MAX_INT_BITS(width), subs, __VA_ARGS__) | 
| #define | ses(name, range_min, range_max, subs, ...) xse(name, current->name, range_min, range_max, subs, __VA_ARGS__) | 
| #define | fixed(width, name, value) | 
| #define | READ | 
| #define | READWRITE read | 
| #define | RWContext GetBitContext | 
| #define | xu(width, name, var, range_min, range_max, subs, ...) | 
| #define | xue(name, var, range_min, range_max, subs, ...) | 
| #define | xi(width, name, var, range_min, range_max, subs, ...) | 
| #define | xse(name, var, range_min, range_max, subs, ...) | 
| #define | infer(name, value) | 
| #define | more_rbsp_data(var) ((var) = cbs_h2645_read_more_rbsp_data(rw)) | 
| #define | bit_position(rw) (get_bits_count(rw)) | 
| #define | byte_alignment(rw) (get_bits_count(rw) % 8) | 
| #define | allocate(name, size) | 
| #define | FUNC(name) FUNC_SEI(name) | 
| #define | FUNC(name) FUNC_H264(name) | 
| #define | FUNC(name) FUNC_H265(name) | 
| #define | WRITE | 
| #define | READWRITE write | 
| #define | RWContext PutBitContext | 
| #define | xu(width, name, var, range_min, range_max, subs, ...) | 
| #define | xue(name, var, range_min, range_max, subs, ...) | 
| #define | xi(width, name, var, range_min, range_max, subs, ...) | 
| #define | xse(name, var, range_min, range_max, subs, ...) | 
| #define | infer(name, value) | 
| #define | more_rbsp_data(var) (var) | 
| #define | bit_position(rw) (put_bits_count(rw)) | 
| #define | byte_alignment(rw) (put_bits_count(rw) % 8) | 
| #define | allocate(name, size) | 
| #define | FUNC(name) FUNC_SEI(name) | 
| #define | FUNC(name) FUNC_H264(name) | 
| #define | FUNC(name) FUNC_H265(name) | 
| #define | cbs_h2645_replace_ps(h26n, ps_name, ps_var, id_element) | 
Variables | |
| static const CodedBitstreamUnitTypeDescriptor | cbs_h264_unit_types [] | 
| static const CodedBitstreamUnitTypeDescriptor | cbs_h265_unit_types [] | 
| const CodedBitstreamType | ff_cbs_type_h264 | 
| const CodedBitstreamType | ff_cbs_type_h265 | 
| static const SEIMessageTypeDescriptor | cbs_sei_common_types [] | 
| static const SEIMessageTypeDescriptor | cbs_sei_h264_types [] | 
| static const SEIMessageTypeDescriptor | cbs_sei_h265_types [] | 
| #define HEADER | ( | name | ) | 
Definition at line 244 of file cbs_h2645.c.
| #define CHECK | ( | call | ) | 
Definition at line 248 of file cbs_h2645.c.
Definition at line 254 of file cbs_h2645.c.
| #define FUNC_NAME1 | ( | rw, | |
| codec, | |||
| name | |||
| ) | FUNC_NAME2(rw, codec, name) | 
Definition at line 255 of file cbs_h2645.c.
| #define FUNC_H264 | ( | name | ) | FUNC_NAME1(READWRITE, h264, name) | 
Definition at line 256 of file cbs_h2645.c.
| #define FUNC_H265 | ( | name | ) | FUNC_NAME1(READWRITE, h265, name) | 
Definition at line 257 of file cbs_h2645.c.
| #define FUNC_SEI | ( | name | ) | FUNC_NAME1(READWRITE, sei, name) | 
Definition at line 258 of file cbs_h2645.c.
Definition at line 260 of file cbs_h2645.c.
| #define u | ( | width, | |
| name, | |||
| range_min, | |||
| range_max | |||
| ) | xu(width, name, current->name, range_min, range_max, 0, ) | 
Definition at line 262 of file cbs_h2645.c.
Definition at line 264 of file cbs_h2645.c.
Definition at line 266 of file cbs_h2645.c.
Definition at line 267 of file cbs_h2645.c.
| #define i | ( | width, | |
| name, | |||
| range_min, | |||
| range_max | |||
| ) | xi(width, name, current->name, range_min, range_max, 0, ) | 
Definition at line 269 of file cbs_h2645.c.
| #define ib | ( | width, | |
| name | |||
| ) | xi(width, name, current->name, MIN_INT_BITS(width), MAX_INT_BITS(width), 0, ) | 
Definition at line 271 of file cbs_h2645.c.
Definition at line 273 of file cbs_h2645.c.
| #define us | ( | width, | |
| name, | |||
| range_min, | |||
| range_max, | |||
| subs, | |||
| ... | |||
| ) | xu(width, name, current->name, range_min, range_max, subs, __VA_ARGS__) | 
Definition at line 276 of file cbs_h2645.c.
| #define ubs | ( | width, | |
| name, | |||
| subs, | |||
| ... | |||
| ) | xu(width, name, current->name, 0, MAX_UINT_BITS(width), subs, __VA_ARGS__) | 
Definition at line 278 of file cbs_h2645.c.
Definition at line 280 of file cbs_h2645.c.
| #define ues | ( | name, | |
| range_min, | |||
| range_max, | |||
| subs, | |||
| ... | |||
| ) | xue(name, current->name, range_min, range_max, subs, __VA_ARGS__) | 
Definition at line 282 of file cbs_h2645.c.
| #define is | ( | width, | |
| name, | |||
| range_min, | |||
| range_max, | |||
| subs, | |||
| ... | |||
| ) | xi(width, name, current->name, range_min, range_max, subs, __VA_ARGS__) | 
Definition at line 284 of file cbs_h2645.c.
| #define ibs | ( | width, | |
| name, | |||
| subs, | |||
| ... | |||
| ) | xi(width, name, current->name, MIN_INT_BITS(width), MAX_INT_BITS(width), subs, __VA_ARGS__) | 
Definition at line 286 of file cbs_h2645.c.
| #define ses | ( | name, | |
| range_min, | |||
| range_max, | |||
| subs, | |||
| ... | |||
| ) | xse(name, current->name, range_min, range_max, subs, __VA_ARGS__) | 
Definition at line 288 of file cbs_h2645.c.
| #define READ | 
Definition at line 297 of file cbs_h2645.c.
| #define READWRITE read | 
Definition at line 387 of file cbs_h2645.c.
| #define RWContext GetBitContext | 
Definition at line 388 of file cbs_h2645.c.
Definition at line 390 of file cbs_h2645.c.
| #define xue | ( | name, | |
| var, | |||
| range_min, | |||
| range_max, | |||
| subs, | |||
| ... | |||
| ) | 
Definition at line 396 of file cbs_h2645.c.
Definition at line 402 of file cbs_h2645.c.
| #define xse | ( | name, | |
| var, | |||
| range_min, | |||
| range_max, | |||
| subs, | |||
| ... | |||
| ) | 
Definition at line 408 of file cbs_h2645.c.
Definition at line 415 of file cbs_h2645.c.
| #define more_rbsp_data | ( | var | ) | ((var) = cbs_h2645_read_more_rbsp_data(rw)) | 
Definition at line 425 of file cbs_h2645.c.
| #define bit_position | ( | rw | ) | (get_bits_count(rw)) | 
Definition at line 427 of file cbs_h2645.c.
| #define byte_alignment | ( | rw | ) | (get_bits_count(rw) % 8) | 
Definition at line 428 of file cbs_h2645.c.
Definition at line 430 of file cbs_h2645.c.
Definition at line 446 of file cbs_h2645.c.
Definition at line 446 of file cbs_h2645.c.
Definition at line 446 of file cbs_h2645.c.
| #define WRITE | 
Definition at line 386 of file cbs_h2645.c.
| #define READWRITE write | 
Definition at line 387 of file cbs_h2645.c.
| #define RWContext PutBitContext | 
Definition at line 388 of file cbs_h2645.c.
Definition at line 390 of file cbs_h2645.c.
| #define xue | ( | name, | |
| var, | |||
| range_min, | |||
| range_max, | |||
| subs, | |||
| ... | |||
| ) | 
Definition at line 396 of file cbs_h2645.c.
Definition at line 402 of file cbs_h2645.c.
| #define xse | ( | name, | |
| var, | |||
| range_min, | |||
| range_max, | |||
| subs, | |||
| ... | |||
| ) | 
Definition at line 408 of file cbs_h2645.c.
Definition at line 415 of file cbs_h2645.c.
| #define more_rbsp_data | ( | var | ) | (var) | 
Definition at line 425 of file cbs_h2645.c.
| #define bit_position | ( | rw | ) | (put_bits_count(rw)) | 
Definition at line 427 of file cbs_h2645.c.
| #define byte_alignment | ( | rw | ) | (put_bits_count(rw) % 8) | 
Definition at line 428 of file cbs_h2645.c.
Definition at line 430 of file cbs_h2645.c.
Definition at line 446 of file cbs_h2645.c.
Definition at line 446 of file cbs_h2645.c.
Definition at line 446 of file cbs_h2645.c.
| #define cbs_h2645_replace_ps | ( | h26n, | |
| ps_name, | |||
| ps_var, | |||
| id_element | |||
| ) | 
Definition at line 662 of file cbs_h2645.c.
      
  | 
  static | 
Definition at line 32 of file cbs_h2645.c.
      
  | 
  static | 
Definition at line 84 of file cbs_h2645.c.
      
  | 
  static | 
Definition at line 140 of file cbs_h2645.c.
      
  | 
  static | 
Definition at line 183 of file cbs_h2645.c.
      
  | 
  static | 
Definition at line 236 of file cbs_h2645.c.
Referenced by sei_buffering_period().
      
  | 
  static | 
Definition at line 335 of file cbs_h2645.c.
Referenced by cbs_h2645_replace_ps(), cbs_h265_read_nal_unit(), extension_data(), and message_list().
      
  | 
  static | 
Definition at line 469 of file cbs_h2645.c.
Referenced by cbs_h2645_split_fragment().
      
  | 
  static | 
Definition at line 503 of file cbs_h2645.c.
| cbs_h2645_replace_ps | ( | cbs_h2645_replace_ps( | 4, | 
| cbs_h2645_replace_ps( | SPS, | ||
| cbs_h2645_replace_ps( | sps, | ||
| seq_parameter_set_id | |||
| ) | 
Definition at line 689 of file cbs_h2645.c.
      
  | 
  static | 
Definition at line 814 of file cbs_h2645.c.
      
  | 
  static | 
Definition at line 935 of file cbs_h2645.c.
Referenced by cbs_h264_write_nal_unit(), and cbs_h265_write_nal_unit().
      
  | 
  static | 
Definition at line 993 of file cbs_h2645.c.
      
  | 
  static | 
Definition at line 1110 of file cbs_h2645.c.
      
  | 
  static | 
Definition at line 1222 of file cbs_h2645.c.
Referenced by cbs_h2645_assemble_fragment().
      
  | 
  static | 
Definition at line 1238 of file cbs_h2645.c.
      
  | 
  static | 
Definition at line 1318 of file cbs_h2645.c.
      
  | 
  static | 
Definition at line 1336 of file cbs_h2645.c.
      
  | 
  static | 
Definition at line 1349 of file cbs_h2645.c.
      
  | 
  static | 
Definition at line 1371 of file cbs_h2645.c.
      
  | 
  static | 
Definition at line 1386 of file cbs_h2645.c.
      
  | 
  static | 
Definition at line 1422 of file cbs_h2645.c.
| const SEIMessageTypeDescriptor* ff_cbs_sei_find_type | ( | CodedBitstreamContext * | ctx, | 
| int | payload_type | ||
| ) | 
Find the type descriptor for the given payload type.
Returns NULL if the payload type is not known.
Definition at line 1650 of file cbs_h2645.c.
Referenced by ff_cbs_sei_add_message(), and message().
      
  | 
  static | 
Definition at line 1393 of file cbs_h2645.c.
      
  | 
  static | 
Definition at line 1429 of file cbs_h2645.c.
| const CodedBitstreamType ff_cbs_type_h264 | 
Definition at line 1474 of file cbs_h2645.c.
| const CodedBitstreamType ff_cbs_type_h265 | 
Definition at line 1490 of file cbs_h2645.c.
      
  | 
  static | 
Definition at line 1506 of file cbs_h2645.c.
Referenced by ff_cbs_sei_find_type().
      
  | 
  static | 
Definition at line 1546 of file cbs_h2645.c.
Referenced by ff_cbs_sei_find_type().
      
  | 
  static | 
Definition at line 1586 of file cbs_h2645.c.
Referenced by ff_cbs_sei_find_type().
 1.8.17