[FFmpeg-devel] _t POSIX namespace issues
Måns Rullgård
mans
Thu Dec 11 10:43:02 CET 2008
Diego Biurrun <diego at biurrun.de> writes:
> So names ending in _t are reserved by POSIX. Nonetheless we have tons
> of them. I thought about fixing these issues myself, but coming up with
> good new names is tedious, so I propose to have each maintainer address
> the problem in the files they maintain. Here is a the result of a grep
> for problematic names with maintainers, in no particular order:
In most cases simply dropping the _t from the name is suitable.
> Roman Shaposhnik:
> libavcodec/pthread.c: pthread_cond_t current_job_cond;
> libavcodec/pthread.c: pthread_cond_t last_job_cond;
> libavcodec/pthread.c: pthread_mutex_t current_job_lock;
> libavcodec/pthread.c: pthread_t *workers;
pthread_*_t are POSIX types.
> Michael Niedermayer:
> libavcodec/h263.c: if(qp_t)
> libavcodec/huffyuv.c:} heap_elem_t;
> libavcodec/libxvid_rc.c: xvid_plg_create_t xvid_plg_create;
> libavcodec/libxvid_rc.c: xvid_plg_data_t xvid_plg_data;
> libavcodec/libxvid_rc.c: xvid_plg_destroy_t xvid_plg_destroy;
Those are probably defined by the xvid headers. Not much we can do
about that.
> libpostproc/postprocess.h:typedef void pp_context_t;
> libpostproc/postprocess.h:typedef void pp_mode_t;
Typedeffing things as void or void * is just silly.
> Anuradha Suraparaju:
> libavcodec/libdiracdec.c: dirac_decoder_t* p_decoder;
> libavcodec/libdiracdec.c: dirac_sourceparams_t *src_params =
> libavcodec/libdiracenc.c: dirac_encoder_context_t enc_ctx;
> libavcodec/libdiracenc.c: dirac_encoder_state_t state;
> libavcodec/libdiracenc.c: dirac_encoder_t* p_encoder;
> libavcodec/libdirac.h: dirac_chroma_t dirac_pix_fmt;
Library fault again.
> unmaintained:
> libavcodec/libxvidff.c:static int xvid_ff_2pass_create(xvid_plg_create_t * param,
> libavcodec/libxvidff.c:} xvid_context_t;
> libavcodec/libxvidff.c: xvid_enc_create_t xvid_enc_create;
> libavcodec/libxvidff.c: xvid_enc_frame_t xvid_enc_frame;
> libavcodec/libxvidff.c: xvid_enc_plugin_t plugins[7];
> libavcodec/libxvidff.c: xvid_enc_stats_t xvid_enc_stats;
> libavcodec/libxvidff.c: xvid_gbl_init_t xvid_gbl_init;
> libavcodec/libxvidff.c: xvid_plg_data_t *param) {
> libavcodec/libxvidff.c: xvid_plg_destroy_t *param) {
> libavcodec/libxvidff.c: xvid_plugin_single_t single;
And again.
> libavformat/os_support.h:typedef unsigned long nfds_t;
That is a replacement for a missing system type, so it's OK.
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-devel
mailing list