Libav
Data Structures | Macros | Functions | Variables
gxfenc.c File Reference
#include "libavutil/intfloat.h"
#include "libavutil/mathematics.h"
#include "avformat.h"
#include "internal.h"
#include "gxf.h"
#include "audiointerleave.h"

Go to the source code of this file.

Data Structures

struct  GXFStreamContext
 
struct  GXFContext
 

Macros

#define GXF_AUDIO_PACKET_SIZE   65536
 
#define SERVER_PATH   "EXT:/PDR/default/"
 
#define ES_NAME_PATTERN   "EXT:/PDR/default/ES."
 

Functions

static int gxf_find_lines_index (AVStream *st)
 
static void gxf_write_padding (AVIOContext *pb, int64_t to_pad)
 
static int64_t updatePacketSize (AVIOContext *pb, int64_t pos)
 
static int64_t updateSize (AVIOContext *pb, int64_t pos)
 
static void gxf_write_packet_header (AVIOContext *pb, GXFPktType type)
 
static int gxf_write_mpeg_auxiliary (AVIOContext *pb, AVStream *st)
 
static int gxf_write_timecode_auxiliary (AVIOContext *pb, GXFStreamContext *sc)
 
static int gxf_write_track_description (AVFormatContext *s, GXFStreamContext *sc, int index)
 
static int gxf_write_material_data_section (AVFormatContext *s)
 
static int gxf_write_track_description_section (AVFormatContext *s)
 
static int gxf_write_map_packet (AVFormatContext *s, int rewrite)
 
static int gxf_write_flt_packet (AVFormatContext *s)
 
static int gxf_write_umf_material_description (AVFormatContext *s)
 
static int gxf_write_umf_payload (AVFormatContext *s)
 
static int gxf_write_umf_track_description (AVFormatContext *s)
 
static int gxf_write_umf_media_mpeg (AVIOContext *pb, AVStream *st)
 
static int gxf_write_umf_media_timecode (AVIOContext *pb, GXFStreamContext *sc)
 
static int gxf_write_umf_media_dv (AVIOContext *pb, GXFStreamContext *sc)
 
static int gxf_write_umf_media_audio (AVIOContext *pb, GXFStreamContext *sc)
 
static int gxf_write_umf_media_description (AVFormatContext *s)
 
static int gxf_write_umf_packet (AVFormatContext *s)
 
static void gxf_init_timecode_track (GXFStreamContext *sc, GXFStreamContext *vsc)
 
static int gxf_write_header (AVFormatContext *s)
 
static int gxf_write_eos_packet (AVIOContext *pb)
 
static int gxf_write_trailer (AVFormatContext *s)
 
static int gxf_parse_mpeg_frame (GXFStreamContext *sc, const uint8_t *buf, int size)
 
static int gxf_write_media_preamble (AVFormatContext *s, AVPacket *pkt, int size)
 
static int gxf_write_packet (AVFormatContext *s, AVPacket *pkt)
 
static int gxf_compare_field_nb (AVFormatContext *s, AVPacket *next, AVPacket *cur)
 
static int gxf_interleave_packet (AVFormatContext *s, AVPacket *out, AVPacket *pkt, int flush)
 

Variables

struct {
   int   height
 
   int   index
 
gxf_lines_tab []
 
static const AVCodecTag gxf_media_types []
 
static const int GXF_samples_per_frame [] = { 32768, 0 }
 
AVOutputFormat ff_gxf_muxer
 

Macro Definition Documentation

#define GXF_AUDIO_PACKET_SIZE   65536

Definition at line 29 of file gxfenc.c.

Referenced by gxf_write_packet().

#define SERVER_PATH   "EXT:/PDR/default/"

Definition at line 101 of file gxfenc.c.

Referenced by gxf_write_material_data_section().

#define ES_NAME_PATTERN   "EXT:/PDR/default/ES."

Definition at line 102 of file gxfenc.c.

Referenced by gxf_write_track_description(), and gxf_write_umf_media_description().

Function Documentation

static int gxf_find_lines_index ( AVStream st)
static

Definition at line 104 of file gxfenc.c.

Referenced by gxf_write_header().

static void gxf_write_padding ( AVIOContext pb,
int64_t  to_pad 
)
static

Definition at line 118 of file gxfenc.c.

Referenced by gxf_write_packet(), and updatePacketSize().

static int64_t updatePacketSize ( AVIOContext pb,
int64_t  pos 
)
static
static int64_t updateSize ( AVIOContext pb,
int64_t  pos 
)
static
static void gxf_write_packet_header ( AVIOContext pb,
GXFPktType  type 
)
static
static int gxf_write_mpeg_auxiliary ( AVIOContext pb,
AVStream st 
)
static

Definition at line 164 of file gxfenc.c.

Referenced by gxf_write_track_description().

static int gxf_write_timecode_auxiliary ( AVIOContext pb,
GXFStreamContext sc 
)
static

Definition at line 202 of file gxfenc.c.

Referenced by gxf_write_track_description().

static int gxf_write_track_description ( AVFormatContext s,
GXFStreamContext sc,
int  index 
)
static

Definition at line 213 of file gxfenc.c.

Referenced by gxf_write_track_description_section().

static int gxf_write_material_data_section ( AVFormatContext s)
static

Definition at line 269 of file gxfenc.c.

Referenced by gxf_write_map_packet().

static int gxf_write_track_description_section ( AVFormatContext s)
static

Definition at line 320 of file gxfenc.c.

Referenced by gxf_write_map_packet().

static int gxf_write_map_packet ( AVFormatContext s,
int  rewrite 
)
static

Definition at line 337 of file gxfenc.c.

Referenced by gxf_write_header(), gxf_write_packet(), and gxf_write_trailer().

static int gxf_write_flt_packet ( AVFormatContext s)
static

Definition at line 369 of file gxfenc.c.

Referenced by gxf_write_header(), and gxf_write_trailer().

static int gxf_write_umf_material_description ( AVFormatContext s)
static

Definition at line 394 of file gxfenc.c.

Referenced by gxf_write_umf_packet().

static int gxf_write_umf_payload ( AVFormatContext s)
static

Definition at line 431 of file gxfenc.c.

Referenced by gxf_write_umf_packet().

static int gxf_write_umf_track_description ( AVFormatContext s)
static

Definition at line 451 of file gxfenc.c.

Referenced by gxf_write_umf_packet().

static int gxf_write_umf_media_mpeg ( AVIOContext pb,
AVStream st 
)
static

Definition at line 471 of file gxfenc.c.

Referenced by gxf_write_umf_media_description().

static int gxf_write_umf_media_timecode ( AVIOContext pb,
GXFStreamContext sc 
)
static

Definition at line 494 of file gxfenc.c.

Referenced by gxf_write_umf_media_description().

static int gxf_write_umf_media_dv ( AVIOContext pb,
GXFStreamContext sc 
)
static

Definition at line 507 of file gxfenc.c.

Referenced by gxf_write_umf_media_description().

static int gxf_write_umf_media_audio ( AVIOContext pb,
GXFStreamContext sc 
)
static

Definition at line 517 of file gxfenc.c.

Referenced by gxf_write_umf_media_description().

static int gxf_write_umf_media_description ( AVFormatContext s)
static

Definition at line 528 of file gxfenc.c.

Referenced by gxf_write_umf_packet().

static int gxf_write_umf_packet ( AVFormatContext s)
static

Definition at line 590 of file gxfenc.c.

Referenced by gxf_write_header(), and gxf_write_trailer().

static void gxf_init_timecode_track ( GXFStreamContext sc,
GXFStreamContext vsc 
)
static

Definition at line 613 of file gxfenc.c.

Referenced by gxf_write_header().

static int gxf_write_header ( AVFormatContext s)
static

Definition at line 628 of file gxfenc.c.

static int gxf_write_eos_packet ( AVIOContext pb)
static

Definition at line 759 of file gxfenc.c.

Referenced by gxf_write_trailer().

static int gxf_write_trailer ( AVFormatContext s)
static

Definition at line 767 of file gxfenc.c.

static int gxf_parse_mpeg_frame ( GXFStreamContext sc,
const uint8_t buf,
int  size 
)
static

Definition at line 799 of file gxfenc.c.

Referenced by gxf_write_media_preamble().

static int gxf_write_media_preamble ( AVFormatContext s,
AVPacket pkt,
int  size 
)
static

Definition at line 811 of file gxfenc.c.

Referenced by gxf_write_packet().

static int gxf_write_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 858 of file gxfenc.c.

static int gxf_compare_field_nb ( AVFormatContext s,
AVPacket next,
AVPacket cur 
)
static

Definition at line 902 of file gxfenc.c.

Referenced by gxf_interleave_packet().

static int gxf_interleave_packet ( AVFormatContext s,
AVPacket out,
AVPacket pkt,
int  flush 
)
static

Definition at line 924 of file gxfenc.c.

Variable Documentation

int height

Definition at line 72 of file gxfenc.c.

Referenced by aasc_decode_frame(), aic_decode_header(), alloc_picture(), apply_loop_filter(), apply_unsharp(), av_image_copy(), av_image_fill_pointers(), av_parse_video_size(), avg_tpel_pixels_mc01_c(), avg_tpel_pixels_mc02_c(), avg_tpel_pixels_mc10_c(), avg_tpel_pixels_mc11_c(), avg_tpel_pixels_mc12_c(), avg_tpel_pixels_mc20_c(), avg_tpel_pixels_mc21_c(), avg_tpel_pixels_mc22_c(), avpicture_get_size(), bfi_decode_frame(), bitplane_decoding(), bktr_init(), blend_frame(), bmp_decode_frame(), bmp_encode_frame(), cdxl_read_packet(), codec_reinit(), config_output(), copy_block(), copy_CTB(), copy_output(), copy_rectangles(), count_usage(), dc1394_read_common(), decode_cblk(), decode_clnpass(), decode_colskip(), decode_copy(), decode_dds1(), decode_dsw1(), decode_finish_row(), decode_frame(), decode_frame_header(), decode_frame_headers(), decode_i2_frame(), decode_i_frame(), decode_mvc1(), decode_p_frame(), decode_refpass(), decode_region(), decode_region_intra(), decode_region_masked(), decode_rowskip(), decode_seq_header(), decode_sigpass(), decode_slice(), decode_tdlt(), decode_tsw1(), decode_vol_header(), decode_wdlt(), deinterleaveBytes_c(), device_init(), draw_edges_8_c(), draw_glyph_rgb(), draw_glyph_yuv(), draw_n_color(), drawbox(), dtext_prepare_text(), dump_paramchange(), dx2_decode_slice_410(), dx2_decode_slice_420(), dx2_decode_slice_444(), dx2_decode_slice_565(), dx2_decode_slice_rgb(), encode_frame(), encode_slice(), execute_code(), fade(), ff_ccitt_unpack(), ff_flac_parse_picture(), ff_flv_decode_picture_header(), ff_gmc_c(), ff_h263_decode_picture_header(), ff_mjpeg_decode_sof(), ff_rtjpeg_decode_init(), ff_set_dimensions(), ff_vda_create_decoder(), ff_vda_default_init(), fill_yuv_image(), fillPlane(), filter_frame(), get_lowest_part_list_y(), get_video_buffer(), gif_image_write_image(), gif_read_image(), gif_write_header(), grab_read_header(), idcin_read_header(), img_read_header(), init_dimensions(), init_sizes(), inter_predict(), interleaveBytes(), interleaveBytes_c(), ir2_decode_plane(), ir2_decode_plane_inter(), jpeg_parse_packet(), kempf_decode_tile(), kempf_restore_buf(), lag_decode_arith_plane(), left_predict(), libopenjpeg_copy_unpacked16(), libopenjpeg_copy_unpacked8(), libopenjpeg_decode_frame(), ljpeg_encode_bgr(), ljpeg_encode_frame(), loco_decode_plane(), main(), mangle_rgb_planes(), mc_part_weighted(), median_predict(), mimic_decode_frame(), motion_compensation(), mov_create_dvd_sub_decoder_specific_info(), mov_read_tkhd(), mpeg1_decode_sequence(), msnwc_tcp_probe(), mss4_decode_frame(), mvc_decode_init(), nuv_header(), old_codec1(), old_codec37(), old_codec47(), paint_mouse_pointer(), parse_object_segment(), pic_arrays_init(), planarCopyWrapper(), process_ipmovie_chunk(), put_hevc_epel_h(), put_hevc_epel_hv(), put_hevc_epel_pixels(), put_hevc_epel_v(), put_hevc_qpel_pixels(), put_tpel_pixels_mc01_c(), put_tpel_pixels_mc02_c(), put_tpel_pixels_mc10_c(), put_tpel_pixels_mc11_c(), put_tpel_pixels_mc12_c(), put_tpel_pixels_mc20_c(), put_tpel_pixels_mc21_c(), put_tpel_pixels_mc22_c(), put_unweighted_pred(), put_weighted_pred_avg(), qpeg_decode_inter(), qpeg_decode_intra(), qtrle_decode_frame(), rawvideo_read_header(), rawvideo_read_packet(), read_header(), restore_median(), restore_median_il(), restore_rgb_planes(), rgb24toyv12_c(), rv34_mc(), sao_band_filter(), sao_band_filter_0(), sao_band_filter_1(), sao_band_filter_2(), sao_band_filter_3(), sao_edge_filter_0(), sao_edge_filter_1(), sao_edge_filter_2(), sao_edge_filter_3(), sao_filter_CTB(), siff_parse_vbv1(), smc_decode_stream(), smush_read_header(), svq1_decode_block_intra(), svq1_decode_block_non_intra(), svq1_decode_frame(), svq1_encode_plane(), svq3_mc_dir_part(), swf_write_header(), swscale(), theora_header(), to_meta_with_crop(), unpack(), utvideo_encode_frame(), uyvytoyuv420(), uyvytoyuv420_c(), uyvytoyuv422(), uyvytoyuv422_c(), uyvytoyv12(), uyvytoyv12_c(), vble_restore_plane(), vc1_mc_4mv_luma(), verify_md5(), video_image_display(), vp7_decode_frame_header(), vp7_fade_frame(), vp8_decode_frame_header(), weighted_pred(), weighted_pred_avg(), write_huff_codes(), xan_wc3_decode_frame(), xbm_decode_frame(), xsub_encode(), yuv422ptouyvy(), yuv422ptoyuy2(), yuv4_generate_header(), yuv4_read_header(), yuv4_read_packet(), yuv4_write_packet(), yuvPlanartouyvy(), yuvPlanartouyvy_c(), yuvPlanartoyuy2(), yuvPlanartoyuy2_c(), yuy2toyv12(), yuy2toyv12_c(), yuyvtoyuv420(), yuyvtoyuv420_c(), yuyvtoyuv422(), yuyvtoyuv422_c(), yv12touyvy(), yv12toyuy2(), yvu9_to_yuy2(), and yvu9_to_yuy2_c().

int index

Definition at line 72 of file gxfenc.c.

Referenced by aac_encode_init(), adpcm_decode_frame(), alac_linear_predictor(), alloc_table(), ape_read_seek(), apply_dependent_coupling(), apply_independent_coupling(), asf_read_seek(), asv1_encode_block(), asv1_put_level(), asv2_encode_block(), asv2_put_level(), av_base64_decode(), av_parser_parse2(), avfilter_graph_parse2(), avi_read_idx1(), avi_read_packet(), avi_read_seek(), build_basis(), build_canonical_huff(), build_def_list(), build_frame_code(), build_table(), categorize(), cdxl_decode_ham6(), cdxl_decode_ham8(), check_stream_specifier(), codec2subblock(), comp_block(), comp_interp_index(), compute_scale_factors(), decode(), decode_cabac_luma_residual(), decode_cabac_residual_internal(), decode_fixed_sparse(), decode_gain_info(), decode_i2_frame(), decode_init(), decode_luma_residual(), decode_mb_mode(), decode_p_block(), decode_vectors(), direct_search(), dnxhd_encode_init(), dnxhd_init_vlc(), draw_glyph(), dv_decode_ac(), encode_dc(), ff_add_index_entry(), ff_gmc_c(), ff_h261_reorder_mb_index(), ff_h264_decode_mb_cabac(), ff_h264_decode_mb_cavlc(), ff_h264_decode_ref_pic_list_reordering(), ff_huffyuv_generate_bits_table(), ff_init_ff_cos_tabs(), ff_mjpeg_decode_dht(), ff_mjpeg_decode_dqt(), ff_mjpeg_decode_sos(), ff_mlp_rematrix_channel(), ff_mov_init_hinting(), ff_mpeg1_encode_init(), ff_seek_frame_binary(), ff_srtp_decrypt(), ff_srtp_encrypt(), fill_slice_long(), gather_data_for_cel(), gen_fcb_excitation(), get_bits1(), get_block_rate(), get_mvdata_interlaced(), get_rl_index(), get_sample_rate(), hds_flush(), hpel_motion_search(), hvcc_array_add_nal_unit(), idct_put(), init_pass2(), init_uni_h263_rl_tab(), init_uni_mpeg4_rl_tab(), lag_decode_line(), libopenjpeg_copy_to_packed16(), libopenjpeg_copy_to_packed8(), libopenjpeg_copyto16(), libopenjpeg_copyto8(), libopenjpeg_guess_pix_fmt(), lsp2lpc(), matroska_parse_cues(), matroska_read_seek(), mov_write_stsc_tag(), mov_write_stss_tag(), mov_write_tfrf_tag(), mpc8_read_seek(), mpc_read_seek(), mpeg4_encode_block(), mpeg4_get_block_length(), mv_read_packet(), mxf_compute_ptses_fake_index(), mxf_decrypt_triplet(), mxf_edit_unit_absolute_offset(), mxf_read_packet_old(), nsv_read_seek(), nut_write_packet(), open_output_file(), output_client_manifest(), paf_video_decode(), probe(), process_block(), qpel_motion_search(), quantize(), read_seek(), render_slice(), resample(), resample_linear(), resample_nearest(), resample_one(), rl2_read_seek(), rpza_decode_stream(), rtsp_send_reply(), sad_hpel_motion_search(), scalar_dequant_float(), scan_mmco_reset(), seek_frame_generic(), silk_decode_frame(), silk_decode_lpc(), silk_lsf2lpc(), small_diamond_search(), store_table(), svq3_decode_block(), svq3_decode_mb(), synthfilt_build_sb_samples(), tak_parse(), truemotion1_decode_16bit(), truemotion1_decode_24bit(), tta_read_seek(), value_string(), vc1_decode_ac_coeff(), vc1_decode_b_mb(), vc1_decode_p_mb(), vqa_decode_chunk(), webp_get_vlc(), wma_decode_block(), write_abst(), write_manifest(), wv_read_seek(), and xan_wc3_output_pixel_run().

const { ... } gxf_lines_tab[]
Initial value:
= {
{ 480, 1 },
{ 512, 1 },
{ 576, 2 },
{ 608, 2 },
{ 1080, 4 },
{ 720, 6 },
}

Referenced by gxf_find_lines_index().

const AVCodecTag gxf_media_types[]
static
const int GXF_samples_per_frame[] = { 32768, 0 }
static

Definition at line 611 of file gxfenc.c.

Referenced by gxf_write_header().

AVOutputFormat ff_gxf_muxer
Initial value:
= {
.name = "gxf",
.long_name = NULL_IF_CONFIG_SMALL("GXF (General eXchange Format)"),
.extensions = "gxf",
.priv_data_size = sizeof(GXFContext),
.audio_codec = AV_CODEC_ID_PCM_S16LE,
.video_codec = AV_CODEC_ID_MPEG2VIDEO,
}
static int gxf_write_header(AVFormatContext *s)
Definition: gxfenc.c:628
static int write_packet(AVFormatContext *s, AVPacket *pkt)
Definition: assenc.c:58
static int interleave_packet(AVFormatContext *s, AVPacket *out, AVPacket *in, int flush)
Interleave an AVPacket correctly so it can be muxed.
Definition: mux.c:524
static int write_trailer(AVFormatContext *s)
Definition: assenc.c:64
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:150
static int gxf_interleave_packet(AVFormatContext *s, AVPacket *out, AVPacket *pkt, int flush)
Definition: gxfenc.c:924
preferred ID for MPEG-1/2 video decoding
Definition: avcodec.h:110
static int gxf_write_trailer(AVFormatContext *s)
Definition: gxfenc.c:767
static void write_header(FFV1Context *f)
Definition: ffv1enc.c:380
static int gxf_write_packet(AVFormatContext *s, AVPacket *pkt)
Definition: gxfenc.c:858

Definition at line 932 of file gxfenc.c.