1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00
FFmpeg/libavcodec
Kostya Shishkov 342c7dfdbb Bink video decoder
Originally committed as revision 21937 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-21 13:28:46 +00:00
..
alpha
arm ARMv6 optimised pix_sum 2010-02-09 16:13:52 +00:00
avr32
bfin Blackfin: use SRAM only when CONFIG_SRAM is set 2010-01-31 00:20:30 +00:00
mips
mlib
ppc Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
ps2
sh4
sparc Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
x86 Move NEG_[US]SR32 macros to mathops.h 2010-02-17 23:58:59 +00:00
4xm.c Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
8bps.c
8svx.c
aac_ac3_parser.c
aac_ac3_parser.h
aac_adtstoasc_bsf.c
aac_parser.c
aac_parser.h
aac.c Add some AAC buffer overread checks. 2010-02-18 23:06:56 +00:00
aac.h Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
aaccoder.c
aacdectab.h
aacenc.c
aacenc.h Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
aacpsy.c
aacpsy.h
aactab.c remove tables of codebook vector values which are contained in 2010-02-20 12:32:30 +00:00
aactab.h Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
aandcttab.c
aandcttab.h
aasc.c
ac3_parser.c
ac3_parser.h
ac3.c
ac3.h
ac3dec_data.c
ac3dec_data.h
ac3dec.c Simplify error handling by processing header errors separate from CRC and 2010-01-28 23:19:33 +00:00
ac3dec.h Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
ac3enc.c
ac3tab.c
ac3tab.h
acelp_filters.c
acelp_filters.h
acelp_pitch_delay.c Replace log2f(10) with a constant 2010-02-20 20:13:48 +00:00
acelp_pitch_delay.h
acelp_vectors.c Add no_repeat_mask option, so that single-pulse vectors can also be 2010-01-29 16:49:06 +00:00
acelp_vectors.h Add no_repeat_mask option, so that single-pulse vectors can also be 2010-01-29 16:49:06 +00:00
adpcm.c Revert Revision: 21362 2010-01-27 13:30:05 +00:00
adx.h
adxdec.c
adxenc.c
alac.c Avoid using an intermediate variable. 2010-02-06 12:52:22 +00:00
alacenc.c
allcodecs.c Bink video decoder 2010-02-21 13:28:46 +00:00
alsdec.c Do sequential bit reading outside of []-operators. 2010-02-19 08:07:02 +00:00
anm.c
apedec.c 16l trocadero: don't forget to free frame data buffer in APE decoder 2010-02-19 22:23:55 +00:00
api-example.c
asv1.c Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
atrac1.c Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
atrac1data.h
atrac3.c Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
atrac3data.h
atrac.c
atrac.h
audioconvert.c
audioconvert.h
aura.c
avcodec.h Bink video decoder 2010-02-21 13:28:46 +00:00
avpacket.c
avs.c
beosthread.c Always call avcodec_thread_init() 2010-01-20 22:55:50 +00:00
bethsoftvideo.c
bethsoftvideo.h
bfi.c
bgmc.c Support arithmetic decoding in ALS. 2010-02-13 18:24:13 +00:00
bgmc.h Support arithmetic decoding in ALS. 2010-02-13 18:24:13 +00:00
bink.c Bink video decoder 2010-02-21 13:28:46 +00:00
binkaudio.c Fix compilation of binkaudio_rdft when dct is disabled 2010-02-19 20:51:12 +00:00
binkdata.h Bink video decoder 2010-02-21 13:28:46 +00:00
binkidct.c Bink video decoder 2010-02-21 13:28:46 +00:00
bitstream_filter.c
bitstream.c
bmp.c
bmp.h
bmpenc.c
bytestream.h
c93.c
cabac.c
cabac.h
cavs_parser.c
cavs.c avoid using DECLARE_ALIGNED on stack variable as suggested by Reimar 2010-02-15 16:37:13 +00:00
cavs.h fix intra prediction modes with inter-MB neighbors, 2010-02-18 18:23:48 +00:00
cavsdata.h
cavsdec.c add heuristic to discern the old sample clips from streams encoded 2010-02-15 16:43:45 +00:00
cavsdsp.c
cdgraphics.c
celp_filters.c
celp_filters.h
celp_math.c
celp_math.h
cga_data.c
cga_data.h
cinepak.c
cljr.c
colorspace.h
cook.c Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
cookdata.h
costablegen.c
cscd.c
cyuv.c
dca_parser.c
dca.c Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
dca.h
dcadata.h
dcahuff.h
dct-test.c Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
dct.c Floating point discrete cosine transform 2010-01-20 00:39:47 +00:00
dctref.c
dirac_parser.c
dirac.c
dirac.h
dnxhd_parser.c
dnxhddata.c
dnxhddata.h
dnxhddec.c Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
dnxhdenc.c Use LOCAL_ALIGNED macro for local arrays 2010-02-17 20:36:20 +00:00
dnxhdenc.h Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
dpcm.c
dpx.c
dsicinav.c
dsputil.c Bink video decoder 2010-02-21 13:28:46 +00:00
dsputil.h Bink video decoder 2010-02-21 13:28:46 +00:00
dump_extradata_bsf.c
dv.c Use LOCAL_ALIGNED macro for local arrays 2010-02-17 20:36:20 +00:00
dvbsub_parser.c
dvbsub.c
dvbsubdec.c
dvdata.c
dvdata.h
dvdsub_parser.c
dvdsubdec.c
dvdsubenc.c
dxa.c
dxva2_h264.c Added a few missing consts in dxva_h264. 2010-01-24 16:40:58 +00:00
dxva2_internal.h Moved reusable functions from dxva2_h264.c to dxva2.c 2010-01-23 18:17:57 +00:00
dxva2_vc1.c VC-1/WMV3 DXVA2 implementation 2010-01-24 17:27:00 +00:00
dxva2.c Moved reusable functions from dxva2_h264.c to dxva2.c 2010-01-23 18:17:57 +00:00
dxva2.h H264 DXVA2 implementation 2010-01-20 18:54:51 +00:00
eac3dec_data.c
eac3dec_data.h
eac3dec.c
eacmv.c
eaidct.c
eamad.c Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
eatgq.c Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
eatgv.c
eatqi.c Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
elbg.c
elbg.h
error_resilience.c
escape124.c
eval.c
eval.h
faandct.c
faandct.h
faanidct.c
faanidct.h
faxcompr.c
faxcompr.h
fft-test.c Floating point discrete cosine transform 2010-01-20 00:39:47 +00:00
fft.c Fix build with --disable-mdct 2010-02-11 23:40:45 +00:00
ffv1.c
flac.c
flac.h
flacdata.c
flacdata.h
flacdec.c
flacenc.c
flashsv.c
flashsvenc.c
flicvideo.c
flv.h
flvdec.c
flvenc.c
fraps.c
frwu.c
g726.c
g729.h
g729data.h
g729dec.c
get_bits.h Move NEG_[US]SR32 macros to mathops.h 2010-02-17 23:58:59 +00:00
gif.c
gifdec.c
golomb.c
golomb.h
h261_parser.c
h261.c
h261.h
h261data.h
h261dec.c Add include necessary for ff_set_qscale 2010-02-06 12:53:28 +00:00
h261enc.c Add include necessary for ff_set_qscale 2010-02-06 12:53:28 +00:00
h263_parser.c
h263_parser.h
h263.c
h263.h
h263data.h
h263dec.c Change xvid/divx/lavc build variables to be consistent to x264_build. 2010-02-08 00:43:15 +00:00
h264_cabac.c get rid of an if() 1 cpu cycle faster. 2010-02-19 03:10:26 +00:00
h264_cavlc.c Move check for and call of predict_field_decoding_flag() from the mb code to 2010-02-17 02:14:02 +00:00
h264_direct.c H264: use alias-safe macros 2010-02-18 16:24:31 +00:00
h264_loopfilter.c H264: use alias-safe macros 2010-02-18 16:24:31 +00:00
h264_mp4toannexb_bsf.c
h264_mvpred.h H264: use alias-safe macros 2010-02-18 16:24:31 +00:00
h264_parser.c Export H264 profile and level in AVCodecContext. 2010-01-28 20:57:29 +00:00
h264_parser.h
h264_ps.c Check direct_8x8_inference_flag. 2010-02-07 15:12:37 +00:00
h264_refs.c
h264_sei.c
h264.c H264: use alias-safe macros 2010-02-18 16:24:31 +00:00
h264.h H264: use alias-safe macros 2010-02-18 16:24:31 +00:00
h264data.h Move setting MB_TYPE_L0L1 for direct MBs up, this is simpler. 2010-02-13 15:57:49 +00:00
h264dspenc.c
h264enc.c
h264idct.c
h264pred.c
h264pred.h
huffman.c
huffman.h
huffyuv.c
idcinvideo.c
iff.c Support <8-bit ILBM uncompressed bitmaps 2010-02-16 09:33:59 +00:00
iirfilter.c
iirfilter.h
imc.c Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
imcdata.h
imgconvert.c Implement av_get_pix_fmt(), and deprecate avcodec_get_pix_fmt(). 2010-01-30 18:50:00 +00:00
imgconvert.h
imx_dump_header_bsf.c
indeo2.c
indeo2data.h
indeo3.c
indeo3data.h
indeo5.c remove ivi5_scans8x8[0], it duplicates ff_zigzag_direct 2010-02-19 17:17:20 +00:00
indeo5data.h remove ivi5_scans8x8[0], it duplicates ff_zigzag_direct 2010-02-19 17:17:20 +00:00
intelh263dec.c
internal.h
interplayvideo.c
intrax8.c
intrax8.h
intrax8dsp.c
intrax8huf.h
ituh263dec.c Use LOCAL_ALIGNED macro for local arrays 2010-02-17 20:36:20 +00:00
ituh263enc.c
ivi_common.c Indeo Video Interactive 4 and 5 common code and DSP functions. 2010-01-30 08:10:17 +00:00
ivi_common.h Remove outdated comment. 2010-02-15 17:37:38 +00:00
ivi_dsp.c Indeo Video Interactive 4 and 5 common code and DSP functions. 2010-01-30 08:10:17 +00:00
ivi_dsp.h Indeo Video Interactive 4 and 5 common code and DSP functions. 2010-01-30 08:10:17 +00:00
jfdctfst.c
jfdctint.c
jpegls.c
jpegls.h
jpeglsdec.c
jpeglsdec.h
jpeglsenc.c
jrevdct.c
kmvc.c
lcl.h
lcldec.c
lclenc.c
libavcodec.v Add symbol versioning for shared libraries 2010-01-16 04:49:02 +00:00
libdirac_libschro.c
libdirac_libschro.h
libdirac.h
libdiracdec.c
libdiracenc.c
libfaac.c
libfaad.c
libgsm.c Fix compilation with --enable-libgsm on Gentoo and OpenSUSE. 2010-02-13 03:43:10 +00:00
libmp3lame.c
libopencore-amr.c
libopenjpeg.c
libschroedinger.c
libschroedinger.h
libschroedingerdec.c
libschroedingerenc.c
libspeexdec.c
libtheoraenc.c
libvorbis.c
libx264.c Update libx264.c to use new libx264 features 2010-01-19 04:00:08 +00:00
libxvid_internal.h
libxvid_rc.c
libxvidff.c
ljpegenc.c
loco.c
lpc.c
lpc.h
lsp.c
lsp.h
lzw.c
lzw.h
lzwenc.c
mace.c
Makefile Bink video decoder 2010-02-21 13:28:46 +00:00
mathops.h Move NEG_[US]SR32 macros to mathops.h 2010-02-17 23:58:59 +00:00
mdct_tablegen.c
mdct_tablegen.h Fix out of tree build with hardcoded tables 2010-01-15 20:48:34 +00:00
mdct.c
mdec.c Release buffer when the codec is closed. 2010-01-23 18:04:09 +00:00
mimic.c Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
mjpeg_parser.c
mjpeg.c
mjpeg.h
mjpega_dump_header_bsf.c
mjpegbdec.c
mjpegdec.c Fix misc typos, patch by 2010-01-27 00:31:52 +00:00
mjpegdec.h Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
mjpegenc.c
mjpegenc.h
mlp_parser.c Fix possible crashes in mlp parser, it tries to go back 7 bytes after 2010-01-27 20:04:19 +00:00
mlp_parser.h
mlp.c
mlp.h
mlpdec.c Reduce log level of "Extracting .. channel downmix" to AV_LOG_DEBUG, the 2010-01-27 20:02:18 +00:00
mlpdsp.c
mmvideo.c
motion_est_template.c
motion_est.c
motion-test.c
motionpixels_tablegen.c
motionpixels_tablegen.h
motionpixels.c
movsub_bsf.c
mp3_header_compress_bsf.c
mp3_header_decompress_bsf.c
mpc7.c Move variable declaration to block where it is used and simplify code. 2010-01-28 21:01:50 +00:00
mpc7data.h
mpc8.c
mpc8data.h
mpc8huff.h
mpc.c
mpc.h Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
mpcdata.h
mpeg4audio.c
mpeg4audio.h
mpeg4data.h
mpeg4video_parser.c
mpeg4video_parser.h
mpeg4video.c
mpeg4video.h
mpeg4videodec.c Change xvid/divx/lavc build variables to be consistent to x264_build. 2010-02-08 00:43:15 +00:00
mpeg4videoenc.c
mpeg12.c Fix decoding ATI VCR2 codec, sample in 2010-01-24 22:47:50 +00:00
mpeg12.h
mpeg12data.c
mpeg12data.h
mpeg12decdata.h
mpeg12enc.c
mpegaudio_parser.c
mpegaudio_tablegen.c
mpegaudio_tablegen.h
mpegaudio.c
mpegaudio.h Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
mpegaudiodata.c
mpegaudiodata.h
mpegaudiodec.c Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
mpegaudiodecheader.c
mpegaudiodecheader.h
mpegaudiodectab.h
mpegaudioenc.c
mpegaudiotab.h
mpegvideo_common.h
mpegvideo_enc.c Use LOCAL_ALIGNED macro for local arrays 2010-02-17 20:36:20 +00:00
mpegvideo_parser.c Revert 2010-02-03 04:40:42 +00:00
mpegvideo_xvmc.c
mpegvideo.c H264 DXVA2 implementation 2010-01-20 18:54:51 +00:00
mpegvideo.h
msmpeg4.c Implement cool new vlc code. 2010-02-04 14:26:57 +00:00
msmpeg4.h
msmpeg4data.c
msmpeg4data.h
msrle.c
msrledec.c
msrledec.h
msvideo1.c
nellymoser.c
nellymoser.h
nellymoserdec.c Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
nellymoserenc.c Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
noise_bsf.c
nuv.c
opt.c Fix misc typos, patch by 2010-01-27 00:31:52 +00:00
opt.h
options.c Try to support truncated h264 frames mixed with mpeg pes headers in mkv. 2010-02-12 19:25:23 +00:00
os2thread.c Always call avcodec_thread_init() 2010-01-20 22:55:50 +00:00
pamenc.c
parser.c
parser.h
pcm-mpeg.c
pcm.c
pcx.c
pcxenc.c
pgssubdec.c
png.c
png.h
pngdec.c
pngenc.c
pnm_parser.c
pnm.c
pnm.h
pnmdec.c
pnmenc.c
psymodel.c
psymodel.h
pthread.c Always call avcodec_thread_init() 2010-01-20 22:55:50 +00:00
ptx.c
put_bits.h
qcelpdata.h
qcelpdec.c
qdm2.c Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
qdm2data.h
qdrw.c
qpeg.c
qtrle.c
qtrleenc.c
r210dec.c
ra144.c Fix reading beyond buffer end on RA144Context.lpc_tables. 2010-02-13 17:42:58 +00:00
ra144.h
ra288.c
ra288.h
rangecoder.c
rangecoder.h
ratecontrol.c
ratecontrol.h
raw.c Support decoding of SoftLab-NSK VideoTizer. 2010-01-16 13:13:49 +00:00
raw.h
rawdec.c Fix r21223: AVup samples (issue 1685) need a buf offset like AV1x (issue 1684). 2010-02-02 22:57:56 +00:00
rawenc.c
rdft.c
rectangle.h
remove_extradata_bsf.c
resample2.c
resample.c
rl2.c
rl.h
rle.c
rle.h
roqaudioenc.c
roqvideo.c
roqvideo.h
roqvideodec.c
roqvideoenc.c
rpza.c
rtjpeg.c
rtjpeg.h Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
rv10.c Add include to fix implicit declaration of ff_mpeg4_init_direct_mv and 2010-01-31 12:27:05 +00:00
rv10enc.c
rv20enc.c Add include to fix implicit declaration of ff_mpeg4_init_direct_mv and 2010-01-31 12:27:05 +00:00
rv30.c
rv30data.h
rv30dsp.c
rv34.c
rv34.h Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
rv34data.h
rv34vlc.h
rv40.c
rv40data.h
rv40dsp.c
rv40vlc2.h
s3tc.c
s3tc.h
sgi.h
sgidec.c
sgienc.c
shorten.c
simple_idct.c
simple_idct.h
sipr16k.c SIPR16k decoder 2010-01-16 03:54:55 +00:00
sipr16kdata.h SIPR16k decoder 2010-01-16 03:54:55 +00:00
sipr.c SIPR16k decoder 2010-01-16 03:54:55 +00:00
sipr.h Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
siprdata.h Allow a SIPR table to be used by the upcoming SIPR16k decoder 2010-01-16 03:44:17 +00:00
smacker.c
smc.c
snow.c
snow.h
sonic.c
sp5x.h
sp5xdec.c
sunrast.c
svq1_cb.h SVQ1: 4-byte-align codebook tables 2010-01-27 21:31:19 +00:00
svq1_vlc.h
svq1.c
svq1.h
svq1dec.c
svq1enc_cb.h
svq1enc.c
svq3.c Fix svq3_* function declarations. 2010-01-27 22:22:01 +00:00
synth_filter.c
synth_filter.h
tableprint.c
tableprint.h
targa.c
targaenc.c
tiertexseqv.c
tiff.c
tiff.h
tiffenc.c
tmv.c
truemotion1.c
truemotion1data.h
truemotion2.c
truespeech_data.h
truespeech.c
tscc.c
tta.c
twinvq_data.h
twinvq.c
txd.c
ulti_cb.h
ulti.c
unary.h
utils.c Free encoder extradata in avcodec_close(). Should fix several small memory 2010-02-20 18:28:11 +00:00
v210dec.c
v210enc.c
v210x.c Add v210x decoder long name 2010-01-31 12:06:33 +00:00
vaapi_h264.c Move +52 from the loop filter to the alpha/beta offsets in the context. 2010-01-23 18:05:30 +00:00
vaapi_internal.h
vaapi_mpeg2.c
vaapi_mpeg4.c
vaapi_vc1.c
vaapi.c
vaapi.h
vb.c Use AVPALETTE_COUNT instead of hard-coding 256. 2010-01-23 15:22:48 +00:00
vc1_parser.c
vc1.c
vc1.h
vc1acdata.h
vc1data.c
vc1data.h
vc1dec.c VC1: fix missing include h263.h 2010-02-21 02:46:44 +00:00
vc1dsp.c
vcr1.c Release buffer when decoding is finished. 2010-01-25 10:46:32 +00:00
vdpau_internal.h
vdpau.c
vdpau.h
vmdav.c
vmnc.c
vorbis_data.c Add support for vorbis 6.1 and 7.1 channel configurations as per the new spec 2010-01-29 13:51:25 +00:00
vorbis_dec.c Add support for vorbis 6.1 and 7.1 channel configurations as per the new spec 2010-01-29 13:51:25 +00:00
vorbis_enc_data.h
vorbis_enc.c
vorbis.c
vorbis.h Add support for vorbis 6.1 and 7.1 channel configurations as per the new spec 2010-01-29 13:51:25 +00:00
vp3_parser.c
vp3.c Simplify determing whether fragments are coded 2010-02-21 00:11:01 +00:00
vp3data.h
vp3dsp.c
vp5.c
vp5data.h
vp6.c
vp6data.h
vp6dsp.c
vp56.c Make VP5 and VP6 decoders output a qscale table to allow for more automatic 2010-01-29 19:11:47 +00:00
vp56.h Make VP5 and VP6 decoders output a qscale table to allow for more automatic 2010-01-29 19:11:47 +00:00
vp56data.c
vp56data.h
vqavideo.c
w32thread.c Always call avcodec_thread_init() 2010-01-20 22:55:50 +00:00
wavpack.c cosmetics: reindent after last commit 2010-02-19 14:06:12 +00:00
wma.c Export wma_critical_freqs as ff_wma_critical_freqs 2010-01-23 08:39:50 +00:00
wma.h remove a Huffman table from WMA which also exists in AAC 2010-02-19 20:42:55 +00:00
wmadata.h remove a Huffman table from WMA which also exists in AAC 2010-02-19 20:42:55 +00:00
wmadec.c remove a Huffman table from WMA which also exists in AAC 2010-02-19 20:42:55 +00:00
wmaenc.c remove a Huffman table from WMA which also exists in AAC 2010-02-19 20:42:55 +00:00
wmaprodata.h
wmaprodec.c Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
wmavoice_data.h WMAVoice decoder. 2010-02-12 14:22:41 +00:00
wmavoice.c WMAVoice decoder. 2010-02-12 14:22:41 +00:00
wmv2.c
wmv2.h Move array specifiers outside DECLARE_ALIGNED() invocations 2010-01-22 03:25:11 +00:00
wmv2dec.c
wmv2enc.c
wnv1.c
ws-snd1.c
xan.c
xiph.c
xiph.h
xl.c
xsubdec.c
xsubenc.c
xvmc_internal.h
xvmc.h
zmbv.c
zmbvenc.c