FFmpeg
4.3.7
|
IEC-61937 encapsulation of various formats, used by S/PDIF. More...
#include <inttypes.h>
#include "avformat.h"
#include "avio_internal.h"
#include "spdif.h"
#include "libavcodec/ac3.h"
#include "libavcodec/adts_parser.h"
#include "libavcodec/dca.h"
#include "libavcodec/dca_syncwords.h"
#include "libavutil/opt.h"
Go to the source code of this file.
Data Structures | |
struct | IEC61937Context |
Macros | |
#define | SPDIF_FLAG_BIGENDIAN 0x01 |
#define | MAT_PKT_OFFSET 61440 |
#define | MAT_FRAME_SIZE 61424 |
#define | MAT_CODE(position, data) { .pos = position, .code = data, .len = sizeof(data) } |
Functions | |
static int | spdif_header_ac3 (AVFormatContext *s, AVPacket *pkt) |
static int | spdif_header_eac3 (AVFormatContext *s, AVPacket *pkt) |
static int | spdif_dts4_subtype (int period) |
static int | spdif_header_dts4 (AVFormatContext *s, AVPacket *pkt, int core_size, int sample_rate, int blocks) |
static int | spdif_header_dts (AVFormatContext *s, AVPacket *pkt) |
static int | spdif_header_mpeg (AVFormatContext *s, AVPacket *pkt) |
static int | spdif_header_aac (AVFormatContext *s, AVPacket *pkt) |
static int | spdif_header_truehd (AVFormatContext *s, AVPacket *pkt) |
static int | spdif_write_header (AVFormatContext *s) |
static void | spdif_deinit (AVFormatContext *s) |
static av_always_inline void | spdif_put_16 (IEC61937Context *ctx, AVIOContext *pb, unsigned int val) |
static int | spdif_write_packet (struct AVFormatContext *s, AVPacket *pkt) |
Variables | |
static const AVOption | options [] |
static const AVClass | spdif_class |
static enum IEC61937DataType | mpeg_data_type [2][3] |
static const uint8_t | mat_start_code [20] |
static const uint8_t | mat_middle_code [12] |
static const uint8_t | mat_end_code [16] |
struct { | |
unsigned int pos | |
const uint8_t * code | |
unsigned int len | |
} | mat_codes [] |
AVOutputFormat | ff_spdif_muxer |
IEC-61937 encapsulation of various formats, used by S/PDIF.
Definition in file spdifenc.c.
#define SPDIF_FLAG_BIGENDIAN 0x01 |
Definition at line 87 of file spdifenc.c.
Referenced by spdif_put_16(), and spdif_write_packet().
#define MAT_PKT_OFFSET 61440 |
Definition at line 395 of file spdifenc.c.
Referenced by spdif_header_truehd().
#define MAT_FRAME_SIZE 61424 |
Definition at line 396 of file spdifenc.c.
Referenced by spdif_header_truehd(), and spdif_write_header().
Definition at line 409 of file spdifenc.c.
|
static |
Definition at line 110 of file spdifenc.c.
Referenced by spdif_write_header().
|
static |
Definition at line 120 of file spdifenc.c.
Referenced by spdif_write_header().
Definition at line 161 of file spdifenc.c.
Referenced by spdif_header_dts4().
|
static |
Definition at line 174 of file spdifenc.c.
Referenced by spdif_header_dts().
|
static |
Definition at line 251 of file spdifenc.c.
Referenced by spdif_write_header().
|
static |
Definition at line 334 of file spdifenc.c.
Referenced by spdif_write_header().
|
static |
Definition at line 357 of file spdifenc.c.
Referenced by spdif_write_header().
|
static |
Definition at line 421 of file spdifenc.c.
Referenced by spdif_write_header().
|
static |
Definition at line 568 of file spdifenc.c.
|
static |
Definition at line 607 of file spdifenc.c.
|
static |
Definition at line 615 of file spdifenc.c.
Referenced by spdif_write_packet().
|
static |
Definition at line 624 of file spdifenc.c.
|
static |
Definition at line 95 of file spdifenc.c.
|
static |
Definition at line 103 of file spdifenc.c.
|
static |
Definition at line 328 of file spdifenc.c.
Referenced by spdif_header_mpeg().
|
static |
Definition at line 398 of file spdifenc.c.
|
static |
Definition at line 402 of file spdifenc.c.
|
static |
Definition at line 405 of file spdifenc.c.
unsigned int pos |
Definition at line 412 of file spdifenc.c.
Referenced by aa_read_packet(), aal_read_packet(), add_entry(), add_index_entry(), add_tonal_components(), add_wave(), add_wave0(), aix_read_packet(), amr_read_packet(), aptx_decode_frame(), aptx_encode_frame(), aqt_read_header(), asf_build_simple_index(), asf_deinterleave(), asf_read_pts(), asf_read_seek(), asf_read_timestamp(), ass_read_header(), ast_read_packet(), async_seek(), at1_imdct_block(), at1_unpack_dequant(), av_parser_parse2(), avcodec_chroma_pos_to_enum(), avi_load_index(), avi_read_header(), avi_read_idx1(), avi_read_seek(), avi_sync(), avio_seek(), avio_seek_time(), avpriv_dv_produce_packet(), block_contrast(), block_matching_multi(), build_huff_tree(), build_vlc(), cache_seek(), cbs_av1_assemble_fragment(), cbs_av1_ref_tile_data(), cbs_av1_split_fragment(), cbs_h2645_replace_ps(), cbs_h2645_write_slice_data(), cbs_h265_read_nal_unit(), cbs_jpeg_read_unit(), cbs_mpeg2_read_unit(), cbs_mpeg2_write_slice(), cbs_vp9_assemble_fragment(), cbs_vp9_read_unit(), cbs_vp9_split_fragment(), cdxl_read_packet(), check_stream_max_drift(), clean_index(), close_file(), codec37_mv(), colormap_nearest_iterative(), compute_quant_matrix(), count_channels(), crypto_seek(), deband_16_c(), deband_16_coupling_c(), deband_8_c(), deband_8_coupling_c(), DECLARE_QUERYINTERFACE(), decode_1p_track(), decode_3_pulses_10bits(), decode_ac_coeffs(), decode_band(), decode_block(), decode_channel_wordlen(), decode_dct(), decode_dlta(), decode_dvd_subtitles(), decode_fixed_vector(), decode_frame(), decode_kfrm(), decode_mb_i(), decode_mous(), decode_move(), decode_mpos(), decode_qu_spectra(), decode_rle(), decode_rle16(), decode_rle_bpp2(), decode_rle_bpp4(), decode_runlen(), decode_short_horizontal_delta(), decode_slice(), decode_type1(), decode_type2(), decode_vol_header(), decompress(), dequant(), describe_payload(), do_blend(), do_block_matching_multi(), dsf_read_packet(), dss_723_1_read_packet(), dss_sp_read_packet(), dts_probe(), dv_encode_video_segment(), dv_read_packet(), dv_read_timecode(), dvdsub_parse_extradata(), dxv_decompress_dxt1(), dxv_decompress_dxt5(), dxv_decompress_opcodes(), ebml_parse(), ebml_read_binary(), ebml_read_master(), ebml_read_num(), encode_packet(), envelope_instant(), envelope_instant16(), envelope_peak(), envelope_peak16(), epic_decode_run_length(), epic_predict_from_NW_NE(), event_loop(), evolve(), ff_atrac_gain_compensation(), ff_attributes_dump(), ff_dca_downmix_to_stereo_fixed(), ff_dca_downmix_to_stereo_float(), ff_dsd2pcm_translate(), ff_els_decode_unsigned(), ff_end_tag(), ff_h263_resync(), ff_hevc_hls_residual_coding(), ff_hevc_sao_edge_filter_neon_8_wrapper(), ff_inlink_evaluate_timeline_at_frame(), ff_mms_read_header(), ff_mov_cenc_write_sinf_tag(), ff_nut_add_sp(), ff_opencl_filter_load_program_from_file(), ff_opus_rc_enc_laplace(), ff_pcm_read_seek(), ff_rle_count_pixels(), ff_rtp_send_h263_rfc2190(), ff_snappy_peek_uncompressed_length(), ff_vfscanf(), ff_vorbis_floor1_render_list(), ff_wma_init(), ffio_limit(), ffurl_size(), file_move(), fill_pixels(), fill_scaling_lists(), film_read_seek(), filter_frame(), find_motion(), find_sidx(), find_timestamp_in_playlist(), fits_read_packet(), flac_read_header(), flac_seek(), flv_append_keyframe_info(), flv_write_codec_header(), flv_write_packet(), fsb_read_packet(), fsize(), ftp_seek(), g722_encode_trellis(), gainc_loc_mode0(), generate_noise(), get_attachment(), get_consumed_bytes(), get_line(), get_sr_golomb_shorten(), get_tree_codes(), graticule16_column(), graticule16_row(), graticule_column(), graticule_row(), guess_ni_flag(), gxf_seek(), gxf_write_eos_packet(), gxf_write_flt_packet(), gxf_write_map_packet(), gxf_write_material_data_section(), gxf_write_packet(), gxf_write_track_description(), gxf_write_track_description_section(), gxf_write_umf_media_description(), gxf_write_umf_packet(), gxf_write_umf_track_description(), handle_rstn(), hls_slice_header(), hq_decode_block(), http_read_stream_all(), huffman_decode(), iff_read_packet(), imc_decode_level_coefficients_raw(), init_filter(), interp_point(), intlist_read(), ivi_create_huff_from_desc(), ivi_decode_coded_blocks(), ivr_read_header(), ivr_read_packet(), jacosub_read_header(), jpg_decode_block(), klv_read_packet(), libAVEnumMediaTypes_Clone(), libAVEnumMediaTypes_Reset(), libAVEnumPins_Clone(), libAVEnumPins_Reset(), libssh_seek(), lrc_read_header(), lsf_dequantization(), lsp_interpolate(), lvf_read_packet(), lz4_decompress(), magy_encode_frame(), main(), map_prm_ch_to_spkr(), mark_all_blocks(), matroska_add_index_entries(), matroska_execute_seekhead(), matroska_parse_frame(), matroska_parse_rm_audio(), matroska_parse_webvtt(), matroska_read_header(), microdvd_read_header(), mmf_rate(), mov_cenc_write_saio_tag(), mov_cenc_write_saiz_tag(), mov_cenc_write_schi_tag(), mov_cenc_write_senc_tag(), mov_find_next_sample(), mov_flush_fragment(), mov_write_3gp_udta_tag(), mov_write_audio_tag(), mov_write_av1c_tag(), mov_write_avcc_tag(), mov_write_chan_tag(), mov_write_chpl_tag(), mov_write_colr_tag(), mov_write_covr(), mov_write_dfla_tag(), mov_write_dinf_tag(), mov_write_dmlp_tag(), mov_write_dops_tag(), mov_write_esds_tag(), mov_write_ftyp_tag(), mov_write_gmhd_tag(), mov_write_gpmd_tag(), mov_write_hdlr_tag(), mov_write_hvcc_tag(), mov_write_ilst_tag(), mov_write_iods_tag(), mov_write_isml_manifest(), mov_write_loci_tag(), mov_write_mdia_tag(), mov_write_mdta_ilst_tag(), mov_write_mdta_keys_tag(), mov_write_meta_tag(), mov_write_mfra_tag(), mov_write_minf_tag(), mov_write_moof_tag_internal(), mov_write_moov_tag(), mov_write_ms_tag(), mov_write_mvex_tag(), mov_write_prft_tag(), mov_write_rtp_tag(), mov_write_sdtp_tag(), mov_write_sidx_tag(), mov_write_source_reference_tag(), mov_write_stbl_tag(), mov_write_stco_tag(), mov_write_string_tag(), mov_write_stsc_tag(), mov_write_stsd_tag(), mov_write_stss_tag(), mov_write_stsz_tag(), mov_write_subtitle_tag(), mov_write_tapt_tag(), mov_write_tcmi_tag(), mov_write_tfdt_tag(), mov_write_tfhd_tag(), mov_write_tfra_tag(), mov_write_tfrf_tags(), mov_write_tfxd_tag(), mov_write_tmcd_tag(), mov_write_track_metadata(), mov_write_traf_tag(), mov_write_trak_tag(), mov_write_trun_tag(), mov_write_uuidusmt_tag(), mov_write_video_tag(), mov_write_vpcc_tag(), mov_write_wave_tag(), mov_write_wfex_tag(), mp3_read_packet(), mp3_sync(), mpc8_get_chunk_header(), mpc8_handle_chunk(), mpc8_parse_seektable(), mpc8_read_header(), mpc8_read_packet(), mpegps_read_dts(), mpegts_get_dts(), mpegts_get_pcr(), mpegts_push_data(), mpegts_raw_read_packet(), mpegts_read_header(), mpegts_resync(), mpjpeg_read_header(), mpl2_read_header(), mpsub_read_header(), msrle_decode_8_16_24_32(), mss4_decode_dct(), mv_read_header(), mv_read_packet(), mxf_read_packet(), mxf_update_klv_size(), mxf_write_aes3_desc(), mxf_write_avc_subdesc(), mxf_write_cdci_common(), mxf_write_cdci_desc(), mxf_write_generic_desc(), mxf_write_generic_sound_common(), mxf_write_generic_sound_desc(), mxf_write_h264_desc(), mxf_write_index_table_segment(), mxf_write_mpegvideo_desc(), mxf_write_partition(), mxf_write_random_index_pack(), mxf_write_s436m_anc_desc(), mxf_write_wav_common(), mxf_write_wav_desc(), ni_prepare_read(), nprobe(), nsp_read_header(), nut_read_header(), nut_read_packet(), nut_read_timestamp(), nuv_packet(), nuv_read_dts(), old_codec1(), paint_mouse_pointer(), parse_atoms(), parse_file(), pjs_read_header(), pmp_header(), print_track_chunks(), put_header(), put_id3v2_tags(), put_swf_end_tag(), queue_picture(), r3d_read_reda(), r3d_read_redv(), radix_sort_pass(), rdt_parse_packet(), read_dialogue(), read_header(), read_index(), read_line(), read_moof_duration(), read_odml_index(), read_packet(), read_pakt_chunk(), read_seek(), read_tfra(), read_trun_duration(), realtext_read_header(), request_frame(), rl2_read_packet(), rle_uncompress(), rm_assemble_video_frame(), rm_read_dts(), rm_read_index(), rm_read_packet(), rprobe(), rsd_read_packet(), rv40_loop_filter(), s337m_probe(), s337m_read_packet(), sami_read_header(), sao_edge_filter(), sao_filter_CTB(), sap_read_header(), sap_write_header(), scaling_list_data(), scan_buffer(), sdr2_read_packet(), sds_read_packet(), seek_chapter(), seq_decode_op3(), ser_read_packet(), set_param(), set_spdif(), shift_data(), skip_tag(), smacker_read_packet(), smjpeg_read_packet(), spdif_header_truehd(), stl_read_header(), stream_seek(), subviewer1_read_header(), subviewer_read_header(), sup_read_packet(), swf_read_packet(), switch_buffer(), swri_noise_shaping(), threedostr_read_packet(), tiff_decode_tag(), tm2_read_stream(), tmv_read_seek(), tscc2_decode_frame(), tta_read_header(), twiddle(), update_co64_offsets(), update_size(), update_stco_offsets(), updatePacketSize(), updateSize(), upgrade_stco_atom(), vdpau_hevc_start_frame(), vectorscope16(), vectorscope8(), vlc_decode_block(), vp56_get_vectors_predictors(), vp6_coeff_order_table_init(), vp6_parse_coeff_models(), vpk_read_packet(), vplayer_read_header(), vqf_read_seek(), waves_synth(), wavesynth_seek(), webvtt_read_header(), wma_decode_superframe(), wmavoice_decode_packet(), write_index(), write_table_redirector_legacy_attrib(), wv_unpack_mono(), wv_unpack_stereo(), wv_write_trailer(), x8_decode_intra_mb(), xcorr_coeff(), xmlescape(), and yuv4_read_seek().
const uint8_t* code |
Definition at line 413 of file spdifenc.c.
Referenced by asv1_get_level(), asv2_get_level(), av_utf8_decode(), avs2_probe(), bethsoftvid_decode_frame(), bfi_decode_frame(), bitplane_decoding(), bmv_aud_decode_frame(), build_canonical_huff(), build_huff(), build_huff10(), calculate_codes(), cavsvideo_probe(), check_lengths(), cin_decode_lzss(), cin_decode_rle(), compute_scale_factors(), decode3(), decode_13(), decode_bgr_1(), decode_block(), decode_block_progressive(), decode_block_refinement(), decode_cell(), decode_cell_data(), decode_dc(), decode_dc_coeffs(), decode_dc_le(), decode_exp_vlc(), decode_ext_header(), decode_frame(), decode_i_block(), decode_p_block(), decode_plane_bitstream(), decode_rle(), decode_rle16(), decode_rle_bpp2(), decode_rle_bpp4(), decode_runlen(), decode_runlen_rgb(), decode_scale_factors(), decode_spectrum_and_dequant(), decode_subblock(), decode_subblock1(), decode_subblock3(), decompress_p3(), dpcm_decode_init(), draw_glyphs(), draw_text(), dshow_check_event_queue(), dxt1_block_internal(), dxt3_block_internal(), dxt5_block_internal(), encode_ac_coeffs(), encode_block(), encode_dc_coeffs(), encode_dcs(), encode_exp_vlc(), encode_ext_header(), encode_str8(), estimate_dcs(), ff_cfhd_init_vlcs(), ff_dvvideo_init(), ff_h263_decode_motion(), ff_h263_encode_motion(), ff_init_2d_vlc_rl(), ff_init_uni_ac_vlc(), ff_lzw_decode(), ff_mjpeg_build_huffman_codes(), ff_mjpeg_build_optimal_huffman(), ff_mjpeg_encode_code(), ff_mjpeg_encode_coef(), ff_mjpeg_encode_picture_frame(), ff_mov_iso639_to_lang(), ff_mpeg1_encode_init(), ff_msmpeg4_decode_motion(), ff_msmpeg4_decode_picture_header(), ff_msmpeg4_encode_block(), ff_msmpeg4_encode_motion(), ff_rl_init_vlc(), ff_rv_decode_dc(), ff_vorbis_len2vlc(), ff_wma_run_level_decode(), ff_wmv2_decode_mb(), ff_wmv2_decode_picture_header(), generate_joint_tables(), get_size_of_code(), get_vlc2(), gif_parse_next_image(), h261_encode_block(), h261_encode_motion(), h261_probe(), h263_encode_block(), h263_get_motion_length(), h263_probe(), h263p_decode_umotion(), h263p_encode_umotion(), h264_probe(), hevc_probe(), huff_build(), huff_build10(), huff_build12(), huff_reader_build_canonical(), huffman_decode(), init_mv_penalty_and_fcode(), init_uni_ac_vlc(), init_uni_h261_rl_tab(), init_uni_h263_rl_tab(), init_uni_mpeg4_rl_tab(), load_glyph(), main(), mjpeg_decode_dc(), mmf_rate(), mpc8_dec_base(), mpc8_dec_enum(), mpeg1_encode_block(), mpeg1_encode_motion(), mpeg2_metadata_update_fragment(), mpeg4_decode_dc(), mpeg4_decode_studio_block(), mpeg_decode_motion(), mpeg_decode_slice(), mpegps_probe(), mpegts_push_data(), mpegvideo_probe(), msmpeg4_encode_dc(), msmpeg4v12_decode_mb(), msmpeg4v2_decode_motion(), msmpeg4v2_encode_motion(), msmpeg4v34_decode_mb(), mxf_read_pixel_layout(), old_codec1(), old_codec37(), paf_video_decode(), parse_aux_data(), parse_ch(), parse_coding_header(), parse_dmix_coeffs(), parse_lfe_16(), parse_lfe_24(), process_block(), put_vlc_symbol(), qpeg_decode_inter(), qpeg_decode_intra(), read_argb_line(), read_frame(), read_quant_spectral_coeffs(), read_rgb24_component_line(), read_yuv_component_line(), rv30_decode_intra_types(), rv30_decode_mb_info(), rv34_decode_block(), rv34_decode_cbp(), set_idx(), spdif_header_truehd(), tiff_unpack_strip(), ulti_decode_frame(), vaapi_encode_mpeg2_init_sequence_params(), validate_string(), vc1_probe(), vorbis_parse_audio_packet(), wavpack_encode_block(), wavpack_encode_sample(), webp_get_vlc(), wma_decode_block(), write_huff_codes(), writer_open(), ws_snd_decode_frame(), wv_unpack_dsd_fast(), and xavs2_init().
unsigned int len |
Definition at line 414 of file spdifenc.c.
const { ... } mat_codes[] |
Referenced by spdif_header_truehd().
AVOutputFormat ff_spdif_muxer |
Definition at line 676 of file spdifenc.c.