libavformat/gxfenc.c File Reference

#include "libavutil/intfloat.h"
#include "libavutil/opt.h"
#include "libavutil/mathematics.h"
#include "libavcodec/timecode.h"
#include "avformat.h"
#include "internal.h"
#include "gxf.h"
#include "riff.h"
#include "audiointerleave.h"

Go to the source code of this file.

Data Structures

struct  GXFTimecode
struct  GXFStreamContext
struct  GXFContext

Defines

#define GXF_AUDIO_PACKET_SIZE   65536
#define GXF_TIMECODE(c, d, h, m, s, f)   ((c) << 30 | (d) << 29 | (h) << 24 | (m) << 16 | (s) << 8 | (f))
#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, GXFContext *gxf)
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, int drop)
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_init_timecode (AVFormatContext *s, GXFTimecode *tc, int fields)
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 }
static const AVOption options []
static const AVClass gxf_muxer_class
AVOutputFormat ff_gxf_muxer


Define Documentation

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

Definition at line 120 of file gxfenc.c.

Referenced by gxf_write_track_description(), and gxf_write_umf_media_description().

#define GXF_AUDIO_PACKET_SIZE   65536

Definition at line 32 of file gxfenc.c.

Referenced by gxf_write_packet().

#define GXF_TIMECODE ( c,
d,
h,
m,
s,
 )     ((c) << 30 | (d) << 29 | (h) << 24 | (m) << 16 | (s) << 8 | (f))

Definition at line 34 of file gxfenc.c.

Referenced by gxf_write_timecode_auxiliary(), and gxf_write_umf_material_description().

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

Definition at line 119 of file gxfenc.c.

Referenced by gxf_write_material_data_section().


Function Documentation

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

Definition at line 972 of file gxfenc.c.

Referenced by gxf_interleave_packet().

static int gxf_find_lines_index ( AVStream st  )  [static]

Definition at line 122 of file gxfenc.c.

Referenced by gxf_write_header().

static int gxf_init_timecode ( AVFormatContext s,
GXFTimecode tc,
int  fields 
) [static]

Definition at line 674 of file gxfenc.c.

Referenced by gxf_write_header().

static void gxf_init_timecode_track ( GXFStreamContext sc,
GXFStreamContext vsc 
) [static]

Definition at line 659 of file gxfenc.c.

Referenced by gxf_write_header().

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

Definition at line 994 of file gxfenc.c.

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

Definition at line 868 of file gxfenc.c.

Referenced by gxf_write_media_preamble().

static int gxf_write_eos_packet ( AVIOContext pb  )  [static]

Definition at line 828 of file gxfenc.c.

Referenced by gxf_write_trailer().

static int gxf_write_flt_packet ( AVFormatContext s  )  [static]

Definition at line 388 of file gxfenc.c.

Referenced by gxf_write_header(), and gxf_write_trailer().

static int gxf_write_header ( AVFormatContext s  )  [static]

Definition at line 693 of file gxfenc.c.

static int gxf_write_map_packet ( AVFormatContext s,
int  rewrite 
) [static]

Definition at line 357 of file gxfenc.c.

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

static int gxf_write_material_data_section ( AVFormatContext s  )  [static]

Definition at line 289 of file gxfenc.c.

Referenced by gxf_write_map_packet().

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

Definition at line 880 of file gxfenc.c.

Referenced by gxf_write_packet().

static int gxf_write_mpeg_auxiliary ( AVIOContext pb,
AVStream st 
) [static]

Definition at line 182 of file gxfenc.c.

Referenced by gxf_write_track_description().

static int gxf_write_packet ( AVFormatContext s,
AVPacket pkt 
) [static]

Definition at line 927 of file gxfenc.c.

static void gxf_write_packet_header ( AVIOContext pb,
GXFPktType  type 
) [static]

static void gxf_write_padding ( AVIOContext pb,
int64_t  to_pad 
) [static]

Definition at line 136 of file gxfenc.c.

Referenced by gxf_write_packet(), and updatePacketSize().

static int gxf_write_timecode_auxiliary ( AVIOContext pb,
GXFContext gxf 
) [static]

Definition at line 220 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 232 of file gxfenc.c.

Referenced by gxf_write_track_description_section().

static int gxf_write_track_description_section ( AVFormatContext s  )  [static]

Definition at line 340 of file gxfenc.c.

Referenced by gxf_write_map_packet().

static int gxf_write_trailer ( AVFormatContext s  )  [static]

Definition at line 836 of file gxfenc.c.

static int gxf_write_umf_material_description ( AVFormatContext s  )  [static]

Definition at line 413 of file gxfenc.c.

Referenced by gxf_write_umf_packet().

static int gxf_write_umf_media_audio ( AVIOContext pb,
GXFStreamContext sc 
) [static]

Definition at line 552 of file gxfenc.c.

Referenced by gxf_write_umf_media_description().

static int gxf_write_umf_media_description ( AVFormatContext s  )  [static]

Definition at line 574 of file gxfenc.c.

Referenced by gxf_write_umf_packet().

static int gxf_write_umf_media_dv ( AVIOContext pb,
GXFStreamContext sc 
) [static]

Definition at line 542 of file gxfenc.c.

Referenced by gxf_write_umf_media_description().

static int gxf_write_umf_media_mpeg ( AVIOContext pb,
AVStream st 
) [static]

Definition at line 506 of file gxfenc.c.

Referenced by gxf_write_umf_media_description().

static int gxf_write_umf_media_timecode ( AVIOContext pb,
int  drop 
) [static]

Definition at line 529 of file gxfenc.c.

Referenced by gxf_write_umf_media_description().

static int gxf_write_umf_packet ( AVFormatContext s  )  [static]

Definition at line 636 of file gxfenc.c.

Referenced by gxf_write_header(), and gxf_write_trailer().

static int gxf_write_umf_payload ( AVFormatContext s  )  [static]

Definition at line 466 of file gxfenc.c.

Referenced by gxf_write_umf_packet().

static int gxf_write_umf_track_description ( AVFormatContext s  )  [static]

Definition at line 486 of file gxfenc.c.

Referenced by gxf_write_umf_packet().

static int64_t updatePacketSize ( AVIOContext pb,
int64_t  pos 
) [static]

static int64_t updateSize ( AVIOContext pb,
int64_t  pos 
) [static]


Variable Documentation

Initial value:

 {
    .name              = "gxf",
    .long_name         = NULL_IF_CONFIG_SMALL("GXF format"),
    .extensions        = "gxf",
    .priv_data_size    = sizeof(GXFContext),
    .audio_codec       = CODEC_ID_PCM_S16LE,
    .video_codec       = CODEC_ID_MPEG2VIDEO,
    .write_header      = gxf_write_header,
    .write_packet      = gxf_write_packet,
    .write_trailer     = gxf_write_trailer,
    .interleave_packet = gxf_interleave_packet,
    .priv_class        = &gxf_muxer_class,
}

Definition at line 1014 of file gxfenc.c.

struct { ... } gxf_lines_tab[] [static]

Referenced by gxf_find_lines_index().

const AVCodecTag gxf_media_types[] [static]

Initial value:

Definition at line 100 of file gxfenc.c.

const AVClass gxf_muxer_class [static]

Initial value:

 {
    .class_name     = "GXF muxer",
    .item_name      = av_default_item_name,
    .option         = options,
    .version        = LIBAVUTIL_VERSION_INT,
}

Definition at line 1007 of file gxfenc.c.

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

Definition at line 657 of file gxfenc.c.

Referenced by gxf_write_header().

int height

Definition at line 90 of file gxfenc.c.

Referenced by apply_loop_filter(), av_parse_video_size(), avfilter_graph_dump_to_buf(), bfi_decode_frame(), bitplane_decoding(), blend_slice(), bmp_decode_frame(), bmp_encode_frame(), build_feed_streams(), copy_frame(), copy_picture_attributes(), decode_finish_row(), decode_frame(), decode_frame_header(), decode_frame_headers(), decode_i2_frame(), decode_i_frame(), decode_p_frame(), decode_seq_header(), decode_subband_internal(), decode_vol_header(), draw_edges(), encode_frame(), encode_picture_lossless(), execute_code(), ff_flv_decode_picture_header(), ff_h263_decode_picture_header(), ff_jpegls_decode_picture(), ff_mjpeg_decode_sof(), ff_print_debug_info(), ff_raw_read_header(), ff_vda_create_decoder(), get_video_buffer(), gif_image_write_image(), gif_read_image(), gif_write_header(), grab_read_header(), idcin_read_header(), inter_predict(), INTERPOLATE_METHOD(), libopenjpeg_copy_unpacked16(), libopenjpeg_copy_unpacked8(), libopenjpeg_decode_frame(), main(), mca(), mimic_decode_frame(), mov_read_tkhd(), mpeg1_decode_sequence(), msnwc_tcp_probe(), nuv_header(), optimum_block_height(), paint_mouse_pointer(), parse_picture_segment(), planarCopyWrapper(), postProcess_TMPL(), process_ipmovie_chunk(), put_pixel(), qtrle_decode_frame(), rawvideo_read_packet(), read_header(), siff_parse_vbv1(), smc_decode_stream(), svq1_decode_block_intra(), svq1_decode_block_non_intra(), svq1_decode_frame(), swf_write_header(), theora_header(), to_meta_with_crop(), vc1_mc_4mv_luma(), video_image_display(), xan_wc3_decode_frame(), xsub_encode(), xwd_decode_frame(), yuv422ptouyvy_TMPL(), yuv422ptoyuy2_TMPL(), yuvPlanartouyvy_TMPL(), yuvPlanartoyuy2_TMPL(), yuy2toyv12_TMPL(), yv12touyvy_TMPL(), yv12touyvy_unscaled_altivec(), yv12toyuy2_TMPL(), and yv12toyuy2_unscaled_altivec().

int index

Definition at line 90 of file gxfenc.c.

Referenced by aac_encode_init(), adpcm_decode_frame(), alac_linear_predictor(), alloc_table(), allocStuff(), ape_read_seek(), asf_read_seek(), asv1_encode_block(), asv1_put_level(), asv2_encode_block(), asv2_put_level(), av_parser_parse2(), av_resample(), av_shr_i(), avfilter_graph_parse(), band_delta_factor(), build_basis(), build_def_list(), build_frame_code(), build_table(), categorize(), check_stream_specifier(), 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_p_block(), decode_q_branch(), decode_vectors(), direct_search(), dnxhd_encode_init(), dnxhd_init_vlc(), 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_mjpeg_decode_dht(), ff_mjpeg_decode_dqt(), ff_mjpeg_decode_frame(), ff_mjpeg_decode_sos(), ff_mpeg1_encode_init(), ff_seek_frame_binary(), filter(), g723_1_decode_frame(), gather_data_for_cel(), generate_bits_table(), get(), get_bits1(), get_block_rate(), get_mvdata_interlaced(), get_rl_index(), gmc_c(), hpel_motion_search(), idct_put(), init_pass2(), init_uni_h263_rl_tab(), init_uni_mpeg4_rl_tab(), lag_decode_line(), libAVMemInputPin_Receive(), libopenjpeg_copy_to_packed16(), libopenjpeg_copy_to_packed8(), libopenjpeg_copyto16(), libopenjpeg_copyto8(), lsp2lpc(), matroska_add_index_entries(), 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(), mxf_compute_ptses_fake_index(), mxf_decrypt_triplet(), mxf_edit_unit_absolute_offset(), mxf_read_packet_old(), nsv_read_seek(), nut_write_packet(), opt_output_file(), output_client_manifest(), pix_sum16_mmx(), probe(), qpel_motion_search(), quantize(), read_seek(), rematrix_channels(), resampleCubic(), resampleLinear(), rl2_read_seek(), rpza_decode_stream(), sad_hpel_motion_search(), seek_frame_generic(), set(), set_blocks(), small_diamond_search(), snow_set_blocks(), svq3_decode_mb(), swri_resample(), synthfilt_build_sb_samples(), truemotion1_decode_16bit(), truemotion1_decode_24bit(), tta_read_seek(), update_palette_index(), value_string(), vc1_decode_ac_coeff(), vc1_decode_b_mb(), vc1_decode_p_mb(), vqa_decode_chunk(), wma_decode_block(), wv_read_seek(), and xan_wc3_output_pixel_run().

const AVOption options[] [static]

Initial value:

Definition at line 1002 of file gxfenc.c.


Generated on Fri Oct 26 02:46:13 2012 for FFmpeg by  doxygen 1.5.8