1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
FFmpeg/libavformat
wm4 881b80b329 network: prevent SIGPIPE on OSX
OSX does not know MSG_NOSIGNAL. BSD (which OSX is based on) has got
the socket option SO_NOSIGPIPE (even if modern BSDs also support
MSG_NOSIGNAL).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-05-31 10:10:16 +03:00
..
4xm.c
a64.c
aacdec.c
ac3dec.c
adtsenc.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
adxdec.c avformat/adxdec: set avctx->channels in adx_read_header 2015-03-05 15:57:48 +01:00
aea.c aea: Return proper error code on invalid header 2015-01-16 10:35:02 +01:00
aiff.h
aiffdec.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
aiffenc.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
allformats.c lavf: split tls.c 2015-05-26 21:48:32 +03:00
amr.c
anm.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
apc.c
ape.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
apetag.c ape: Use the proper variable type 2015-02-15 18:20:54 +01:00
apetag.h
asf.c
asf.h
asfcrypt.c
asfcrypt.h
asfdec.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
asfenc.c asfenc: fix leaking asf->index_ptr on error 2015-03-11 20:24:59 +01:00
assdec.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
assenc.c
au.c
audiointerleave.c audiointerleave: check av_new_packet return value 2014-10-24 23:42:53 +01:00
audiointerleave.h
avc.c
avc.h
avformat.h lavf: Document the codec context initialization 2015-02-17 11:27:42 -05:00
avi.h
avidec.c avi: Validate sample_size 2015-05-09 15:51:31 +02:00
avienc.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
avio_internal.h avio: Rename avclass symbols relating to avio 2015-02-28 22:07:04 +02:00
avio.c lavf: Explicitly convert types at function pointer assignment 2015-03-11 23:53:13 +01:00
avio.h
aviobuf.c lavf: Explicitly convert types at function pointer assignment 2015-03-11 23:53:13 +01:00
avisynth.c avisynth: Simplify shared library name construction 2015-04-15 14:52:57 +02:00
avlanguage.c
avlanguage.h
avs.c
bethsoftvid.c bethsoftvid: simplify return handling 2014-10-29 17:02:27 +00:00
bfi.c
bink.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
bmv.c
c93.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
caf.c
caf.h
cafdec.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
cavsvideodec.c
cdg.c
cdxl.c
concat.c
crcenc.c
crypto.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
cutils.c lavf: Implement ff_brktimegm using gmtime_r 2014-10-26 00:14:54 +03:00
dashenc.c dashenc: Reduce the segment duration if cutting out parts with edit lists 2015-05-10 22:57:21 +03:00
dauddec.c
daudenc.c
dfa.c
diracdec.c
dnxhddec.c
dsicin.c
dss.c lavf: Add DSS demuxer 2015-02-19 12:05:19 -05:00
dtsdec.c dca: Move syncword definitions to a separate header 2015-03-04 13:29:33 +01:00
dump.c dump: Print AVAudioServiceType side data 2015-05-06 14:57:46 +01:00
dv.c lavf: move internal fields from public to internal context 2015-02-10 21:45:04 +01:00
dv.h
dvenc.c
dxa.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
eacdata.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
electronicarts.c
ffmeta.h
ffmetadec.c
ffmetaenc.c
file_open.c
file.c
filmstripdec.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
filmstripenc.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
flac_picture.c flac_picture: prevent a possible out of bound write 2014-10-24 23:42:53 +01:00
flac_picture.h
flacdec.c lavf: stop using avpriv_flac_parse_streaminfo() 2014-11-06 09:02:25 +01:00
flacenc_header.c
flacenc.c
flacenc.h
flic.c
flv.h
flvdec.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
flvenc.c flv: Validate and reject unsupported codecs 2015-03-04 18:28:40 +01:00
format.c
framecrcenc.c
framehash.c
g722.c
g723_1.c
gif.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
gopher.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
gsmdec.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
gxf.c
gxf.h
gxfenc.c
h261dec.c
h263dec.c
h264dec.c
hdsenc.c Revert "lavf: Don't try to update files atomically with renames on windows" 2014-11-27 09:29:47 +02:00
hevc.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
hevc.h
hevcdec.c
hls.c lavf: Use av_gettime_relative 2014-10-24 09:53:45 +03:00
hlsenc.c hlsenc: write playlist into a temp file and replace the original atomically 2015-02-20 23:55:28 +02:00
hlsproto.c hlsproto: Properly close avio buffer in case of error 2015-01-23 14:55:03 +00:00
hnm.c
http.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
http.h
httpauth.c
httpauth.h
icecast.c Icecast: Send content-type in all cases 2014-11-15 09:15:39 +01:00
id3v1.c
id3v1.h
id3v2.c id3v2: Do not export empty APIC description 2015-05-09 15:55:50 +02:00
id3v2.h
id3v2enc.c
idcin.c idcin: fix return check 2014-10-20 10:38:37 +01:00
idroqdec.c
idroqenc.c
iff.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
ilbc.c
img2.c lavf: Open PICT images with Quickdraw 2015-05-06 14:27:34 +01:00
img2dec.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
img2enc.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
ingenientdec.c
internal.h lavf: move internal fields from public to internal context 2015-02-10 21:45:04 +01:00
ipmovie.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
isom.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
isom.h mov: Add option to keep exact packet sequence after seeking 2015-03-18 14:28:56 +00:00
iss.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
iv8.c
ivfdec.c
ivfenc.c
jvdec.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
latmenc.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
libavformat.v
librtmp.c librtmp: append the correct field to the string 2014-11-18 00:38:26 +01:00
lmlm4.c
log2_tab.c
lxfdec.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
m4vdec.c
Makefile rtmpdh: Add fate test for the DH handshake routine 2015-05-29 09:42:35 +03:00
matroska.c matroskadec: export cover art correctly 2015-04-08 12:36:53 +02:00
matroska.h matroskadec: export cover art correctly 2015-04-08 12:36:53 +02:00
matroskadec.c mkv: Print unsupported mov tags when found 2015-05-12 15:28:31 +01:00
matroskaenc.c matroskadec: export cover art correctly 2015-04-08 12:36:53 +02:00
md5enc.c
md5proto.c
metadata.c
metadata.h
mm.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
mmf.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
mms.c mms: Check memory allocation 2015-03-21 23:18:15 +01:00
mms.h
mmsh.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
mmst.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
mov_chan.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
mov_chan.h
mov.c mov: Double-check that alias path is not an absolute path 2015-04-19 22:50:24 +01:00
movenc.c movenc: Write the make and model metadata keys for mov style files 2015-03-23 12:43:35 +02:00
movenc.h movenc: Don't assume that fragment durations in pts is equal to duration in dts 2015-03-19 10:27:20 +02:00
movenchint.c libavformat: Use ffio_free_dyn_buf where applicable 2015-02-24 23:07:47 +02:00
mp3dec.c mp3: Properly use AVCodecContext API 2015-03-11 17:57:56 +00:00
mp3enc.c Drop the unofficial extension prefix for MPEG and MPEG-TS formats 2014-12-02 15:28:22 +00:00
mpc8.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
mpc.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
mpeg.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
mpeg.h
mpegenc.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
mpegts.c mpegts: Update the PSI/SI table only if the version change 2015-04-28 21:09:59 +02:00
mpegts.h
mpegtsenc.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
mpegvideodec.c
mpjpeg.c
msnwc_tcp.c
mtv.c lavf: move internal fields from public to internal context 2015-02-10 21:45:04 +01:00
mux.c mux: Do not leave stale side data pointers in ff_interleave_add_packet() 2015-05-06 15:01:35 +01:00
mvdec.c
mvi.c
mxf.c
mxf.h
mxfdec.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
mxfenc.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
mxg.c
ncdec.c
network.c network: prevent SIGPIPE on OSX 2015-05-31 10:10:16 +03:00
network.h
noproxy-test.c
nsvdec.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
nullenc.c
nut.c
nut.h
nutdec.c nut: Make sure to clean up on read_header failure 2015-05-09 15:55:50 +02:00
nutenc.c libavformat: Use ffio_free_dyn_buf where applicable 2015-02-24 23:07:47 +02:00
nuv.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
oggdec.c ogg: Forward errors further 2015-04-20 12:41:33 +02:00
oggdec.h oggdec: add support for VP8 demuxing 2014-12-18 23:27:07 +01:00
oggenc.c ogg: check memory allocations 2015-02-15 18:20:54 +01:00
oggparsecelt.c
oggparsedirac.c
oggparseflac.c lavf: stop using avpriv_flac_parse_streaminfo() 2014-11-06 09:02:25 +01:00
oggparseogm.c
oggparseopus.c
oggparseskeleton.c
oggparsespeex.c
oggparsetheora.c
oggparsevorbis.c lavc,lavf: switch to the new vorbis parse API 2014-11-06 09:00:46 +01:00
oggparsevp8.c oggdec: add support for VP8 demuxing 2014-12-18 23:27:07 +01:00
oma.c
oma.h
omadec.c oma: Report a timestamp 2015-02-07 15:36:15 +01:00
omaenc.c
options_table.h lavf: Add an option for avoiding negative timestamps 2014-11-07 12:11:35 +02:00
options.c avio: Rename avclass symbols relating to avio 2015-02-28 22:07:04 +02:00
os_support.c
os_support.h libavformat: Only use MoveFileExA when targeting the desktop API subset 2014-12-19 23:24:47 +02:00
paf.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
pcm.c lavf: move internal fields from public to internal context 2015-02-10 21:45:04 +01:00
pcm.h
pcmdec.c
pcmenc.c
pmpdec.c
psxstr.c
pva.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
qcp.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
qtpalette.h
r3d.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
rawdec.c latm: Do not give a score for a single instance 2014-12-07 13:15:03 +01:00
rawdec.h
rawenc.c Drop the unofficial extension prefix for MPEG and MPEG-TS formats 2014-12-02 15:28:22 +00:00
rawenc.h
rawvideodec.c
rdt.c rdt: Use a separate variable to clarify the different value namespaces 2015-03-05 00:26:42 +02:00
rdt.h
replaygain.c lavf: add a convenience function for adding side data to a stream 2015-01-27 09:18:32 +01:00
replaygain.h
riff.c riff: Add MultiScope II fourcc MSC2 as MJPEG 2015-05-12 03:22:18 +02:00
riff.h
riffdec.c
riffenc.c riffenc: do not fall back on AVCodecContext.frame_size for MP3 2014-11-06 09:02:08 +01:00
rl2.c
rm.c
rm.h rm: Use the correct codec_data_size signedness 2014-12-04 13:14:28 +00:00
rmdec.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
rmenc.c rmenc: Drop the temporary buffer for ac3 byteswap 2015-04-20 12:41:33 +02:00
rmsipr.c
rmsipr.h
rpl.c
rso.c
rso.h
rsodec.c
rsoenc.c
rtmp.h
rtmpcrypt.c rtmpdh: Pass the actual buffer size of the output secret key 2015-05-29 09:42:32 +03:00
rtmpcrypt.h
rtmpdh.c rtmpdh: Generate the whole private exponent using av_get_random_seed() with nettle/gmp 2015-05-29 23:33:03 +03:00
rtmpdh.h rtmpdh: Pass the actual buffer size of the output secret key 2015-05-29 09:42:32 +03:00
rtmphttp.c
rtmppkt.c rtmppkt: Repeat the full 32 bit timestamp for chunking continuation packets 2015-01-15 10:20:18 +02:00
rtmppkt.h
rtmpproto.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
rtp.c
rtp.h
rtpdec_ac3.c rtpdec: Rename the free method to close 2015-02-24 23:07:50 +02:00
rtpdec_amr.c rtpdec: Use .init instead of .alloc to set default values 2015-02-24 23:07:28 +02:00
rtpdec_asf.c rtpdec_asf: Don't set RTP_FLAG_KEY 2015-03-05 00:26:24 +02:00
rtpdec_dv.c rtpdec: Rename the free method to close 2015-02-24 23:07:50 +02:00
rtpdec_formats.h rtpdec: experimental VP9 depacketizer (draft 0) 2015-03-05 10:05:44 +02:00
rtpdec_g726.c
rtpdec_h261.c rtpdec: Rename the free method to close 2015-02-24 23:07:50 +02:00
rtpdec_h263_rfc2190.c rtpdec: Rename the free method to close 2015-02-24 23:07:50 +02:00
rtpdec_h263.c rtpdec: Set need_parsing via a handler field 2015-02-24 16:22:41 +02:00
rtpdec_h264.c rtpdec: Rename the free method to close 2015-02-24 23:07:50 +02:00
rtpdec_hevc.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
rtpdec_ilbc.c rtpdec: Don't pass non-const pointers to fmtp attribute parsing functions 2015-02-24 23:07:22 +02:00
rtpdec_jpeg.c build: Split JPEG-related tables off into a separate component 2015-03-30 17:51:21 +02:00
rtpdec_latm.c rtpdec: Rename the free method to close 2015-02-24 23:07:50 +02:00
rtpdec_mpa_robust.c rtpdec_mpa_robust: Fix incrementing split_pos 2015-03-04 09:34:14 +02:00
rtpdec_mpeg4.c rtpdec: Rename the free method to close 2015-02-24 23:07:50 +02:00
rtpdec_mpeg12.c rtpdec: Set need_parsing via a handler field 2015-02-24 16:22:41 +02:00
rtpdec_mpegts.c rtpdec: Rename the free method to close 2015-02-24 23:07:50 +02:00
rtpdec_qcelp.c rtpdec: Get rid of all trivial .alloc/.free functions 2015-02-24 16:24:19 +02:00
rtpdec_qdm2.c rtpdec: Get rid of all trivial .alloc/.free functions 2015-02-24 16:24:19 +02:00
rtpdec_qt.c rtpdec_qt: Use a local variable instead of RTP_FLAG_KEY 2015-03-05 00:26:42 +02:00
rtpdec_svq3.c rtpdec: Rename the free method to close 2015-02-24 23:07:50 +02:00
rtpdec_vp8.c rtpdec: Rename the free method to close 2015-02-24 23:07:50 +02:00
rtpdec_vp9.c rtpdec_vp9: Drop extra sanity check for size of input packet 2015-03-11 18:01:25 +00:00
rtpdec_xiph.c rtpdec: Rename the free method to close 2015-02-24 23:07:50 +02:00
rtpdec.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
rtpdec.h rtpdec: Rename the free method to close 2015-02-24 23:07:50 +02:00
rtpenc_aac.c rtpenc: Don't set max_frames_per_packet based on the packet frame size or frame rate 2015-02-28 22:54:31 +02:00
rtpenc_amr.c rtpenc: Don't set max_frames_per_packet based on the packet frame size or frame rate 2015-02-28 22:54:31 +02:00
rtpenc_chain.c libavformat: Use ffio_free_dyn_buf where applicable 2015-02-24 23:07:47 +02:00
rtpenc_chain.h
rtpenc_h261.c rtp: Initial H.261 support 2014-12-18 23:11:37 +02:00
rtpenc_h263_rfc2190.c
rtpenc_h263.c
rtpenc_h264_hevc.c rtpenc: Merge the h264 and hevc packetizers 2015-02-24 16:25:43 +02:00
rtpenc_jpeg.c rtpenc_jpeg: Handle case of picture dimensions not dividing by 8 2015-04-23 23:20:03 +03:00
rtpenc_latm.c
rtpenc_mpegts.c rtpenc_mpegts: Set chain->rtp_ctx only after avformat_write_header succeeded 2015-03-10 09:58:41 +02:00
rtpenc_mpv.c
rtpenc_vp8.c
rtpenc_xiph.c rtpenc: Don't set max_frames_per_packet based on the packet frame size or frame rate 2015-02-28 22:54:31 +02:00
rtpenc.c Replace av_dlog with normal av_log at trace level 2015-04-19 12:41:59 +01:00
rtpenc.h rtpenc: Merge the h264 and hevc packetizers 2015-02-24 16:25:43 +02:00
rtpproto.c rtp: Add an option to set the send/receive buffer size 2015-04-01 14:26:35 +02:00
rtpproto.h
rtsp.c rtsp: Make sure we don't write too many transport entries into a fixed-size array 2015-04-24 16:07:14 +03:00
rtsp.h rtsp: Add a buffer_size option 2015-04-01 14:26:35 +02:00
rtspcodes.h
rtspdec.c lavf: split tls.c 2015-05-26 21:48:32 +03:00
rtspenc.c
sapdec.c
sapenc.c lavf: Use av_gettime_relative 2014-10-24 09:53:45 +03:00
sauce.c
sauce.h
sctp.c sctp: Update to match tcp 2015-03-15 18:29:11 +01:00
sdp.c rtp: Initial H.261 support 2014-12-18 23:11:37 +02:00
seek-test.c
segafilm.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
segment.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
sierravmd.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
siff.c siff: Use the correct type for packet size variables 2015-03-09 12:58:17 +00:00
smacker.c
smjpeg.c
smjpeg.h
smjpegdec.c
smjpegenc.c
smoothstreamingenc.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
smush.c
sol.c sol: simplify sol_codec_id() 2014-11-24 01:30:15 +00:00
sox.h
soxdec.c
soxenc.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
spdif.c
spdif.h
spdifdec.c
spdifenc.c dca: Move syncword definitions to a separate header 2015-03-04 13:29:33 +01:00
srtdec.c
srtp.c
srtp.h
srtpproto.c srtpproto: fix option flag type 2014-12-18 11:58:23 +02:00
swf.c
swf.h
swfdec.c
swfenc.c lavf: Explicitly convert types at function pointer assignment 2015-03-11 23:53:13 +01:00
takdec.c
tcp.c libavformat: Handle error return from ff_listen_bind 2015-04-09 14:32:37 +02:00
thp.c
tiertexseq.c
tls_gnutls.c tls_gnutls: Add missing includes for the gcrypt thread safety callbacks 2015-05-28 15:05:52 +03:00
tls_openssl.c lavf: move TLS-related ifdeffery to library specific files 2015-05-26 21:48:51 +03:00
tls.c lavf: split tls.c 2015-05-26 21:48:32 +03:00
tls.h lavf: move TLS-related ifdeffery to library specific files 2015-05-26 21:48:51 +03:00
tmv.c
tta.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
tty.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
txd.c
udp.c udp: Fix pkt_size management 2015-03-29 17:35:59 +02:00
unix.c libavformat: Handle error return from ff_listen_bind 2015-04-09 14:32:37 +02:00
url-test.c
url.c
url.h urlprotocol: remove unused url_interrupt_cb declaration 2014-10-18 05:01:20 +02:00
urldecode.c
urldecode.h
utils.c lavf: Fix variables constness in ff_iso8601_to_unix_time() 2015-04-20 18:43:33 +01:00
vc1test.c
vc1testenc.c
version.h mov: Add option to keep exact packet sequence after seeking 2015-03-18 14:28:56 +00:00
voc.c
voc.h
vocdec.c
vocenc.c
vorbiscomment.c
vorbiscomment.h
vqf.c lavf: move internal fields from public to internal context 2015-02-10 21:45:04 +01:00
wavdec.c
wavenc.c
wc3movie.c
westwood_aud.c
westwood_vqa.c
wtv.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
wv.c
wv.h
wvdec.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
wvenc.c
xa.c
xmv.c
xwma.c avformat: Don't anonymously typedef structs 2015-02-14 10:13:47 -08:00
yop.c lavf: move internal fields from public to internal context 2015-02-10 21:45:04 +01:00
yuv4mpeg.h
yuv4mpegdec.c yuv4mpegdec: initialize field_order in yuv4_read_header() 2015-01-29 15:26:33 +00:00
yuv4mpegenc.c