FFmpeg
4.0
|
#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 "golomb.h"
#include "h264.h"
#include "h264_sei.h"
#include "h2645_parse.h"
#include "hevc.h"
#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_NAME(rw, codec, name) cbs_ ## codec ## _ ## rw ## _ ## name |
#define | FUNC_H264(rw, name) FUNC_NAME(rw, h264, name) |
#define | FUNC_H265(rw, name) FUNC_NAME(rw, h265, name) |
#define | READ |
#define | READWRITE read |
#define | RWContext GetBitContext |
#define | xu(width, name, var, range_min, range_max) |
#define | xue(name, var, range_min, range_max) |
#define | xse(name, var, range_min, range_max) |
#define | u(width, name, range_min, range_max) xu(width, name, current->name, range_min, range_max) |
#define | flag(name) u(1, name, 0, 1) |
#define | ue(name, range_min, range_max) xue(name, current->name, range_min, range_max) |
#define | se(name, range_min, range_max) xse(name, current->name, range_min, range_max) |
#define | infer(name, value) |
#define | more_rbsp_data(var) ((var) = cbs_h2645_read_more_rbsp_data(rw)) |
#define | byte_alignment(rw) (get_bits_count(rw) % 8) |
#define | allocate(name, size) |
#define | FUNC(name) FUNC_H264(READWRITE, name) |
#define | FUNC(name) FUNC_H265(READWRITE, name) |
#define | WRITE |
#define | READWRITE write |
#define | RWContext PutBitContext |
#define | xu(width, name, var, range_min, range_max) |
#define | xue(name, var, range_min, range_max) |
#define | xse(name, var, range_min, range_max) |
#define | u(width, name, range_min, range_max) xu(width, name, current->name, range_min, range_max) |
#define | flag(name) u(1, name, 0, 1) |
#define | ue(name, range_min, range_max) xue(name, current->name, range_min, range_max) |
#define | se(name, range_min, range_max) xse(name, current->name, range_min, range_max) |
#define | infer(name, value) |
#define | more_rbsp_data(var) (var) |
#define | byte_alignment(rw) (put_bits_count(rw) % 8) |
#define | allocate(name, size) |
#define | FUNC(name) FUNC_H264(READWRITE, name) |
#define | FUNC(name) FUNC_H265(READWRITE, name) |
#define | cbs_h2645_replace_ps(h26n, ps_name, ps_var, id_element) |
Variables | |
const CodedBitstreamType | ff_cbs_type_h264 |
const CodedBitstreamType | ff_cbs_type_h265 |
#define HEADER | ( | name | ) |
Definition at line 228 of file cbs_h2645.c.
Referenced by aud(), extension_data(), filler(), group_of_pictures_header(), picture_coding_extension(), picture_display_extension(), picture_header(), pps(), quant_matrix_extension(), sei(), sequence_display_extension(), sequence_extension(), sequence_header(), slice_header(), slice_segment_header(), sps(), sps_extension(), user_data(), and vps().
#define CHECK | ( | call | ) |
Definition at line 232 of file cbs_h2645.c.
Definition at line 238 of file cbs_h2645.c.
Definition at line 239 of file cbs_h2645.c.
Definition at line 240 of file cbs_h2645.c.
#define READ |
Definition at line 243 of file cbs_h2645.c.
#define READWRITE read |
Definition at line 325 of file cbs_h2645.c.
#define RWContext GetBitContext |
Definition at line 326 of file cbs_h2645.c.
Definition at line 328 of file cbs_h2645.c.
Referenced by byte_alignment(), extension_data(), filler(), profile_tier_level(), rbsp_trailing_bits(), sei(), sei_buffering_period(), sei_payload(), sei_user_data_registered(), sei_user_data_unregistered(), slice_header(), and vps().
#define xue | ( | name, | |
var, | |||
range_min, | |||
range_max | |||
) |
Definition at line 333 of file cbs_h2645.c.
Referenced by dec_ref_pic_marking(), and ref_pic_list_modification().
#define xse | ( | name, | |
var, | |||
range_min, | |||
range_max | |||
) |
Definition at line 338 of file cbs_h2645.c.
Referenced by scaling_list(), and scaling_list_data().
#define u | ( | width, | |
name, | |||
range_min, | |||
range_max | |||
) | xu(width, name, current->name, range_min, range_max) |
Definition at line 344 of file cbs_h2645.c.
Referenced by adpcm_compress_trellis(), adpcm_decode_frame(), apply_lut(), aud(), av_gcd(), avui_decode_frame(), aw_pulse_set2(), bitpacked_decode_yuv422p10(), build_diff_map(), build_huff(), build_huff10(), calc_combed_score(), calc_persp_luts(), calculate_codes(), cinepak_decode_codebook(), convert_input(), cpia_decode_frame(), cqt_calc(), create_chrominance_lut(), dash_read_header(), decode_aybr(), decode_aybri(), decode_byry(), decode_byryi(), decode_c82i(), decode_c82p(), decode_ca2i(), decode_ca2p(), decode_ca4i(), decode_ca4p(), decode_frame(), decode_subband_slice_buffered(), decode_ybr(), decode_ybr10(), decode_ybr10i(), decode_ybri(), decode_ybyr(), decode_yry10(), decode_yry10i(), do_chromakey_slice(), dv_decode_ac(), dxv_decompress_cgo(), encode_422_bitstream(), encode_frame(), ff_print_debug_info2(), ff_rtjpeg_decode_frame_yuv420(), ff_sws_alphablendaway(), ff_vorbis_len2vlc(), ff_yuv2rgb_c_init_tables(), fill_in_tongue(), filter_frame(), frame_block_to_cell(), generate_joint_tables(), generate_kernel(), get_bits(), get_s16l(), getutime(), hl_decode_mb_predict_luma(), hls_read_header(), hrd_parameters(), huff_build(), huff_build10(), huff_build12(), init(), intra_predict(), inv_cdf(), jp2_find_codestream(), lcg_random(), main(), mode17(), mode23(), mode24(), model256_update(), model2_update(), model_update(), monochrome_color_location(), mss2_blit_wmv9_template(), nal_unit_header(), pick_color(), pow_m1_4(), pps(), pps_scc_extension(), print_option(), process_slice_uyvy422(), process_slice_yuv420p(), process_slice_yuv422p(), process_slice_yuv444p(), profile_tier_level(), read_high_coeffs(), ref_pic_lists_modification(), render_default_font(), resample_cubic(), resample_linear(), reverse_dc_prediction(), rgb16_32ToUV_c_template(), rgb2yuv_fsb(), rso_write_header(), rv34_pred_4x4_block(), rv40_weak_loop_filter(), sbr_sum_square_c(), scan_float(), scan_int32(), sei_display_orientation(), sei_pic_timestamp(), sei_pic_timing(), sei_recovery_point(), sei_user_data_registered(), sign_extend(), slice_header(), slice_segment_header(), sps(), sps_extension(), sps_scc_extension(), svq3_add_idct_c(), svq3_decode_mb(), sws_scale(), tm2_decode_blocks(), uninit_options(), v308_decode_frame(), v308_encode_frame(), v408_decode_frame(), v408_encode_frame(), v410_decode_frame(), v410_encode_frame(), vp9_handle_packet(), vps(), vui_parameters(), wavpack_encode_block(), wv_get_value_float(), y216_decode_frame(), y41p_decode_frame(), y41p_encode_frame(), yuv2nv12cX_c(), yuv2p010cX_c(), yuv2p016cX_c(), yuv2rgb(), yuv2yuv(), yuv4_decode_frame(), yuv4_encode_frame(), and zero12v_decode_frame().
Definition at line 346 of file cbs_h2645.c.
Referenced by adpcm_decode_frame(), av_opt_flag_is_set(), av_vorbis_parse_frame_flags(), bit_allocation(), cinepak_decode_codebook(), cinepak_decode_vectors(), dec_ref_pic_marking(), decode_bmv_frame(), decode_channel_wordlen(), decode_delta_j(), decode_registered_user_data_afd(), decode_registered_user_data_closed_caption(), dxv_decompress_opcodes(), epic_decode_run_length(), find_and_decode_index(), hdcd_scan(), hq_decode_mb(), hqa_decode_mb(), hqx_decode_422(), hqx_decode_422a(), hqx_decode_444(), hqx_decode_444a(), hrd_parameters(), imc_decode_block(), initFilter(), main(), mark_ref(), nal_unit_header(), old_codec1(), pps(), pps_range_extension(), pps_scc_extension(), pred_weight_table(), profile_tier_level(), read_header(), read_high_coeffs(), read_huffman_tables(), read_low_coeffs(), ref_pic_list_modification(), ref_pic_lists_modification(), scaling_list_data(), sei_display_orientation(), sei_pic_timestamp(), sei_pic_timing(), sei_recovery_point(), set_af_flag(), set_disposition_bits(), slice_header(), slice_segment_header(), sps(), sps_extension(), sps_range_extension(), sps_scc_extension(), st_ref_pic_set(), sub_layer_hrd_parameters(), sws_init_context(), vorbis_parse_setup_hdr_codebooks(), vps(), vui_parameters(), write_index(), and xan_wc3_decode_frame().
Definition at line 347 of file cbs_h2645.c.
Referenced by hrd_parameters(), pps(), pps_range_extension(), pps_scc_extension(), pred_weight_table(), scaling_list_data(), sei_buffering_period(), sei_display_orientation(), sei_recovery_point(), slice_header(), slice_segment_header(), sps(), sps_extension(), sps_scc_extension(), st_ref_pic_set(), sub_layer_hrd_parameters(), vps(), and vui_parameters().
Definition at line 349 of file cbs_h2645.c.
Referenced by decode_block_progressive(), mjpeg_decode_scan_progressive_ac(), mpeg2_metadata_update_fragment(), pps(), pps_range_extension(), pps_scc_extension(), pred_weight_table(), read_ts(), scaling_list_data(), slice_header(), slice_segment_header(), sps(), and vaapi_encode_mpeg2_init_sequence_params().
Definition at line 352 of file cbs_h2645.c.
Referenced by hrd_parameters(), pps(), pps_scc_extension(), pred_weight_table(), sei_pic_timestamp(), slice_header(), slice_segment_header(), sps(), st_ref_pic_set(), vps(), and vui_parameters().
#define more_rbsp_data | ( | var | ) | ((var) = cbs_h2645_read_more_rbsp_data(rw)) |
Definition at line 361 of file cbs_h2645.c.
Referenced by pps().
#define byte_alignment | ( | rw | ) | (get_bits_count(rw) % 8) |
Definition at line 363 of file cbs_h2645.c.
Referenced by rbsp_trailing_bits(), sei_payload(), and slice_header().
Definition at line 365 of file cbs_h2645.c.
Referenced by extension_data(), pps(), sei_payload(), sei_user_data_registered(), and sei_user_data_unregistered().
#define WRITE |
Definition at line 324 of file cbs_h2645.c.
#define READWRITE write |
Definition at line 325 of file cbs_h2645.c.
#define RWContext PutBitContext |
Definition at line 326 of file cbs_h2645.c.
Definition at line 328 of file cbs_h2645.c.
#define xue | ( | name, | |
var, | |||
range_min, | |||
range_max | |||
) |
Definition at line 333 of file cbs_h2645.c.
#define xse | ( | name, | |
var, | |||
range_min, | |||
range_max | |||
) |
Definition at line 338 of file cbs_h2645.c.
#define u | ( | width, | |
name, | |||
range_min, | |||
range_max | |||
) | xu(width, name, current->name, range_min, range_max) |
Definition at line 344 of file cbs_h2645.c.
Definition at line 346 of file cbs_h2645.c.
Definition at line 347 of file cbs_h2645.c.
Definition at line 349 of file cbs_h2645.c.
Definition at line 352 of file cbs_h2645.c.
#define more_rbsp_data | ( | var | ) | (var) |
Definition at line 361 of file cbs_h2645.c.
#define byte_alignment | ( | rw | ) | (put_bits_count(rw) % 8) |
Definition at line 363 of file cbs_h2645.c.
Definition at line 365 of file cbs_h2645.c.
#define cbs_h2645_replace_ps | ( | h26n, | |
ps_name, | |||
ps_var, | |||
id_element | |||
) |
Definition at line 660 of file cbs_h2645.c.
|
static |
Definition at line 34 of file cbs_h2645.c.
|
static |
Definition at line 84 of file cbs_h2645.c.
|
static |
Definition at line 138 of file cbs_h2645.c.
|
static |
Definition at line 179 of file cbs_h2645.c.
|
static |
Definition at line 279 of file cbs_h2645.c.
Referenced by extension_data(), and sei().
Definition at line 397 of file cbs_h2645.c.
Referenced by cbs_h2645_replace_ps().
|
static |
Definition at line 404 of file cbs_h2645.c.
Referenced by cbs_h264_free_sei(), and ff_cbs_h264_delete_sei_message().
Definition at line 424 of file cbs_h2645.c.
Referenced by cbs_h2645_replace_ps(), and ff_cbs_h264_add_sei_message().
Definition at line 433 of file cbs_h2645.c.
Referenced by cbs_h2645_replace_ps().
Definition at line 440 of file cbs_h2645.c.
Referenced by cbs_h265_read_nal_unit().
Definition at line 447 of file cbs_h2645.c.
Referenced by cbs_h265_read_nal_unit().
Definition at line 454 of file cbs_h2645.c.
Referenced by cbs_h265_read_nal_unit().
Definition at line 461 of file cbs_h2645.c.
Referenced by cbs_h265_read_nal_unit().
|
static |
Definition at line 468 of file cbs_h2645.c.
Referenced by cbs_h2645_split_fragment().
|
static |
Definition at line 501 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 681 of file cbs_h2645.c.
|
static |
Definition at line 838 of file cbs_h2645.c.
|
static |
Definition at line 982 of file cbs_h2645.c.
Referenced by cbs_h2645_write_nal_unit().
|
static |
Definition at line 1103 of file cbs_h2645.c.
Referenced by cbs_h2645_write_nal_unit().
|
static |
Definition at line 1224 of file cbs_h2645.c.
|
static |
Definition at line 1283 of file cbs_h2645.c.
|
static |
Definition at line 1370 of file cbs_h2645.c.
|
static |
Definition at line 1385 of file cbs_h2645.c.
int ff_cbs_h264_add_sei_message | ( | CodedBitstreamContext * | ctx, |
CodedBitstreamFragment * | au, | ||
const H264RawSEIPayload * | payload | ||
) |
Add an SEI message to an access unit.
Definition at line 1428 of file cbs_h2645.c.
Referenced by h264_metadata_filter().
int ff_cbs_h264_delete_sei_message | ( | CodedBitstreamContext * | ctx, |
CodedBitstreamFragment * | access_unit, | ||
CodedBitstreamUnit * | nal_unit, | ||
int | position | ||
) |
Delete an SEI message from an access unit.
Deletes from nal_unit, which must be an SEI NAL unit. If this is the last message in nal_unit, also deletes it from access_unit.
Definition at line 1490 of file cbs_h2645.c.
Referenced by h264_metadata_filter().
const CodedBitstreamType ff_cbs_type_h264 |
Definition at line 1402 of file cbs_h2645.c.
const CodedBitstreamType ff_cbs_type_h265 |
Definition at line 1415 of file cbs_h2645.c.