cosmetics: K&R coding style, prettyprinting
backported r20083 by diego This commit does not introduce functional changes. It was applied in order to faciliate reviewing the proposed libx264.c backport Originally committed as revision 21832 to svn://svn.ffmpeg.org/ffmpeg/branches/0.5
This commit is contained in:
parent
9593c80062
commit
26f74e832b
@ -33,8 +33,7 @@ typedef struct X264Context {
|
||||
AVFrame out_pic;
|
||||
} X264Context;
|
||||
|
||||
static void
|
||||
X264_log(void *p, int level, const char *fmt, va_list args)
|
||||
static void X264_log(void *p, int level, const char *fmt, va_list args)
|
||||
{
|
||||
static const int level_map[] = {
|
||||
[X264_LOG_ERROR] = AV_LOG_ERROR,
|
||||
@ -43,20 +42,19 @@ X264_log(void *p, int level, const char *fmt, va_list args)
|
||||
[X264_LOG_DEBUG] = AV_LOG_DEBUG
|
||||
};
|
||||
|
||||
if(level < 0 || level > X264_LOG_DEBUG)
|
||||
if (level < 0 || level > X264_LOG_DEBUG)
|
||||
return;
|
||||
|
||||
av_vlog(p, level_map[level], fmt, args);
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
encode_nals(uint8_t *buf, int size, x264_nal_t *nals, int nnal)
|
||||
static int encode_nals(uint8_t *buf, int size, x264_nal_t *nals, int nnal)
|
||||
{
|
||||
uint8_t *p = buf;
|
||||
int i;
|
||||
|
||||
for(i = 0; i < nnal; i++){
|
||||
for (i = 0; i < nnal; i++) {
|
||||
int s = x264_nal_encode(p, &size, 1, nals + i);
|
||||
if(s < 0)
|
||||
return -1;
|
||||
@ -66,8 +64,8 @@ encode_nals(uint8_t *buf, int size, x264_nal_t *nals, int nnal)
|
||||
return p - buf;
|
||||
}
|
||||
|
||||
static int
|
||||
X264_frame(AVCodecContext *ctx, uint8_t *buf, int bufsize, void *data)
|
||||
static int X264_frame(AVCodecContext *ctx, uint8_t *buf,
|
||||
int bufsize, void *data)
|
||||
{
|
||||
X264Context *x4 = ctx->priv_data;
|
||||
AVFrame *frame = data;
|
||||
@ -79,7 +77,7 @@ X264_frame(AVCodecContext *ctx, uint8_t *buf, int bufsize, void *data)
|
||||
x4->pic.img.i_plane = 3;
|
||||
|
||||
if (frame) {
|
||||
for(i = 0; i < 3; i++){
|
||||
for (i = 0; i < 3; i++) {
|
||||
x4->pic.img.plane[i] = frame->data[i];
|
||||
x4->pic.img.i_stride[i] = frame->linesize[i];
|
||||
}
|
||||
@ -88,18 +86,18 @@ X264_frame(AVCodecContext *ctx, uint8_t *buf, int bufsize, void *data)
|
||||
x4->pic.i_type = X264_TYPE_AUTO;
|
||||
}
|
||||
|
||||
if(x264_encoder_encode(x4->enc, &nal, &nnal, frame? &x4->pic: NULL,
|
||||
if (x264_encoder_encode(x4->enc, &nal, &nnal, frame? &x4->pic: NULL,
|
||||
&pic_out))
|
||||
return -1;
|
||||
|
||||
bufsize = encode_nals(buf, bufsize, nal, nnal);
|
||||
if(bufsize < 0)
|
||||
if (bufsize < 0)
|
||||
return -1;
|
||||
|
||||
/* FIXME: dts */
|
||||
x4->out_pic.pts = pic_out.i_pts;
|
||||
|
||||
switch(pic_out.i_type){
|
||||
switch (pic_out.i_type) {
|
||||
case X264_TYPE_IDR:
|
||||
case X264_TYPE_I:
|
||||
x4->out_pic.pict_type = FF_I_TYPE;
|
||||
@ -119,21 +117,19 @@ X264_frame(AVCodecContext *ctx, uint8_t *buf, int bufsize, void *data)
|
||||
return bufsize;
|
||||
}
|
||||
|
||||
static av_cold int
|
||||
X264_close(AVCodecContext *avctx)
|
||||
static av_cold int X264_close(AVCodecContext *avctx)
|
||||
{
|
||||
X264Context *x4 = avctx->priv_data;
|
||||
|
||||
av_freep(&avctx->extradata);
|
||||
|
||||
if(x4->enc)
|
||||
if (x4->enc)
|
||||
x264_encoder_close(x4->enc);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static av_cold int
|
||||
X264_init(AVCodecContext *avctx)
|
||||
static av_cold int X264_init(AVCodecContext *avctx)
|
||||
{
|
||||
X264Context *x4 = avctx->priv_data;
|
||||
|
||||
@ -147,12 +143,13 @@ X264_init(AVCodecContext *avctx)
|
||||
x4->params.rc.i_vbv_buffer_size = avctx->rc_buffer_size / 1000;
|
||||
x4->params.rc.i_vbv_max_bitrate = avctx->rc_max_rate / 1000;
|
||||
x4->params.rc.b_stat_write = avctx->flags & CODEC_FLAG_PASS1;
|
||||
if(avctx->flags & CODEC_FLAG_PASS2) x4->params.rc.b_stat_read = 1;
|
||||
else{
|
||||
if(avctx->crf){
|
||||
if (avctx->flags & CODEC_FLAG_PASS2) {
|
||||
x4->params.rc.b_stat_read = 1;
|
||||
} else {
|
||||
if (avctx->crf) {
|
||||
x4->params.rc.i_rc_method = X264_RC_CRF;
|
||||
x4->params.rc.f_rf_constant = avctx->crf;
|
||||
}else if(avctx->cqp > -1){
|
||||
} else if (avctx->cqp > -1) {
|
||||
x4->params.rc.i_rc_method = X264_RC_CQP;
|
||||
x4->params.rc.i_qp_constant = avctx->cqp;
|
||||
}
|
||||
@ -160,17 +157,18 @@ X264_init(AVCodecContext *avctx)
|
||||
|
||||
// if neither crf nor cqp modes are selected we have to enable the RC
|
||||
// we do it this way because we cannot check if the bitrate has been set
|
||||
if(!(avctx->crf || (avctx->cqp > -1))) x4->params.rc.i_rc_method = X264_RC_ABR;
|
||||
if (!(avctx->crf || (avctx->cqp > -1)))
|
||||
x4->params.rc.i_rc_method = X264_RC_ABR;
|
||||
|
||||
x4->params.i_bframe = avctx->max_b_frames;
|
||||
x4->params.b_cabac = avctx->coder_type == FF_CODER_TYPE_AC;
|
||||
x4->params.i_bframe_adaptive = avctx->b_frame_strategy;
|
||||
x4->params.i_bframe_bias = avctx->bframebias;
|
||||
x4->params.b_bframe_pyramid = avctx->flags2 & CODEC_FLAG2_BPYRAMID;
|
||||
avctx->has_b_frames= avctx->flags2 & CODEC_FLAG2_BPYRAMID ? 2 : !!avctx->max_b_frames;
|
||||
avctx->has_b_frames = avctx->flags2 & CODEC_FLAG2_BPYRAMID ? 2 : !!avctx->max_b_frames;
|
||||
|
||||
x4->params.i_keyint_min = avctx->keyint_min;
|
||||
if(x4->params.i_keyint_min > x4->params.i_keyint_max)
|
||||
if (x4->params.i_keyint_min > x4->params.i_keyint_max)
|
||||
x4->params.i_keyint_min = x4->params.i_keyint_max;
|
||||
|
||||
x4->params.i_scenecut_threshold = avctx->scenechange_threshold;
|
||||
@ -197,16 +195,16 @@ X264_init(AVCodecContext *avctx)
|
||||
x4->params.i_fps_den = avctx->time_base.num;
|
||||
|
||||
x4->params.analyse.inter = 0;
|
||||
if(avctx->partitions){
|
||||
if(avctx->partitions & X264_PART_I4X4)
|
||||
if (avctx->partitions) {
|
||||
if (avctx->partitions & X264_PART_I4X4)
|
||||
x4->params.analyse.inter |= X264_ANALYSE_I4x4;
|
||||
if(avctx->partitions & X264_PART_I8X8)
|
||||
if (avctx->partitions & X264_PART_I8X8)
|
||||
x4->params.analyse.inter |= X264_ANALYSE_I8x8;
|
||||
if(avctx->partitions & X264_PART_P8X8)
|
||||
if (avctx->partitions & X264_PART_P8X8)
|
||||
x4->params.analyse.inter |= X264_ANALYSE_PSUB16x16;
|
||||
if(avctx->partitions & X264_PART_P4X4)
|
||||
if (avctx->partitions & X264_PART_P4X4)
|
||||
x4->params.analyse.inter |= X264_ANALYSE_PSUB8x8;
|
||||
if(avctx->partitions & X264_PART_B8X8)
|
||||
if (avctx->partitions & X264_PART_B8X8)
|
||||
x4->params.analyse.inter |= X264_ANALYSE_BSUB16x16;
|
||||
}
|
||||
|
||||
@ -214,23 +212,22 @@ X264_init(AVCodecContext *avctx)
|
||||
|
||||
x4->params.analyse.b_weighted_bipred = avctx->flags2 & CODEC_FLAG2_WPRED;
|
||||
|
||||
if(avctx->me_method == ME_EPZS)
|
||||
if (avctx->me_method == ME_EPZS)
|
||||
x4->params.analyse.i_me_method = X264_ME_DIA;
|
||||
else if(avctx->me_method == ME_HEX)
|
||||
else if (avctx->me_method == ME_HEX)
|
||||
x4->params.analyse.i_me_method = X264_ME_HEX;
|
||||
else if(avctx->me_method == ME_UMH)
|
||||
else if (avctx->me_method == ME_UMH)
|
||||
x4->params.analyse.i_me_method = X264_ME_UMH;
|
||||
else if(avctx->me_method == ME_FULL)
|
||||
else if (avctx->me_method == ME_FULL)
|
||||
x4->params.analyse.i_me_method = X264_ME_ESA;
|
||||
else if(avctx->me_method == ME_TESA)
|
||||
else if (avctx->me_method == ME_TESA)
|
||||
x4->params.analyse.i_me_method = X264_ME_TESA;
|
||||
else x4->params.analyse.i_me_method = X264_ME_HEX;
|
||||
|
||||
x4->params.analyse.i_me_range = avctx->me_range;
|
||||
x4->params.analyse.i_subpel_refine = avctx->me_subpel_quality;
|
||||
|
||||
x4->params.analyse.b_mixed_references =
|
||||
avctx->flags2 & CODEC_FLAG2_MIXED_REFS;
|
||||
x4->params.analyse.b_mixed_references = avctx->flags2 & CODEC_FLAG2_MIXED_REFS;
|
||||
x4->params.analyse.b_chroma_me = avctx->me_cmp & FF_CMP_CHROMA;
|
||||
x4->params.analyse.b_transform_8x8 = avctx->flags2 & CODEC_FLAG2_8X8DCT;
|
||||
x4->params.analyse.b_fast_pskip = avctx->flags2 & CODEC_FLAG2_FASTPSKIP;
|
||||
@ -238,19 +235,20 @@ X264_init(AVCodecContext *avctx)
|
||||
x4->params.analyse.i_trellis = avctx->trellis;
|
||||
x4->params.analyse.i_noise_reduction = avctx->noise_reduction;
|
||||
|
||||
if(avctx->level > 0) x4->params.i_level_idc = avctx->level;
|
||||
if (avctx->level > 0)
|
||||
x4->params.i_level_idc = avctx->level;
|
||||
|
||||
x4->params.rc.f_rate_tolerance =
|
||||
(float)avctx->bit_rate_tolerance/avctx->bit_rate;
|
||||
|
||||
if((avctx->rc_buffer_size != 0) &&
|
||||
(avctx->rc_initial_buffer_occupancy <= avctx->rc_buffer_size)){
|
||||
if ((avctx->rc_buffer_size != 0) &&
|
||||
(avctx->rc_initial_buffer_occupancy <= avctx->rc_buffer_size)) {
|
||||
x4->params.rc.f_vbv_buffer_init =
|
||||
(float)avctx->rc_initial_buffer_occupancy/avctx->rc_buffer_size;
|
||||
}
|
||||
else x4->params.rc.f_vbv_buffer_init = 0.9;
|
||||
(float)avctx->rc_initial_buffer_occupancy / avctx->rc_buffer_size;
|
||||
} else
|
||||
x4->params.rc.f_vbv_buffer_init = 0.9;
|
||||
|
||||
x4->params.rc.f_ip_factor = 1/fabs(avctx->i_quant_factor);
|
||||
x4->params.rc.f_ip_factor = 1 / fabs(avctx->i_quant_factor);
|
||||
x4->params.rc.f_pb_factor = avctx->b_quant_factor;
|
||||
x4->params.analyse.i_chroma_qp_offset = avctx->chromaoffset;
|
||||
|
||||
@ -263,24 +261,23 @@ X264_init(AVCodecContext *avctx)
|
||||
|
||||
x4->params.b_interlaced = avctx->flags & CODEC_FLAG_INTERLACED_DCT;
|
||||
|
||||
if(avctx->flags & CODEC_FLAG_GLOBAL_HEADER){
|
||||
if (avctx->flags & CODEC_FLAG_GLOBAL_HEADER)
|
||||
x4->params.b_repeat_headers = 0;
|
||||
}
|
||||
|
||||
x4->enc = x264_encoder_open(&x4->params);
|
||||
if(!x4->enc)
|
||||
if (!x4->enc)
|
||||
return -1;
|
||||
|
||||
avctx->coded_frame = &x4->out_pic;
|
||||
|
||||
if(avctx->flags & CODEC_FLAG_GLOBAL_HEADER){
|
||||
if (avctx->flags & CODEC_FLAG_GLOBAL_HEADER) {
|
||||
x264_nal_t *nal;
|
||||
int nnal, i, s = 0;
|
||||
|
||||
x264_encoder_headers(x4->enc, &nal, &nnal);
|
||||
|
||||
/* 5 bytes NAL header + worst case escaping */
|
||||
for(i = 0; i < nnal; i++)
|
||||
for (i = 0; i < nnal; i++)
|
||||
s += 5 + nal[i].i_payload * 4 / 3;
|
||||
|
||||
avctx->extradata = av_malloc(s);
|
||||
|
Loading…
x
Reference in New Issue
Block a user