mirror of https://git.ffmpeg.org/ffmpeg.git
Implement FFMAX3(a,b,c) - maximum over three arguments.
Originally committed as revision 12910 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
c6cd525aa0
commit
159ef4b02a
|
@ -3100,7 +3100,7 @@ int ff_mpeg4_get_video_packet_prefix_length(MpegEncContext *s){
|
|||
case FF_S_TYPE:
|
||||
return s->f_code+15;
|
||||
case FF_B_TYPE:
|
||||
return FFMAX(FFMAX(s->f_code, s->b_code)+15, 17);
|
||||
return FFMAX3(s->f_code, s->b_code, 2) + 15;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
|
|
|
@ -6502,7 +6502,7 @@ static void filter_mb( H264Context *h, int mb_x, int mb_y, uint8_t *img_y, uint8
|
|||
//for sufficiently low qp, filtering wouldn't do anything
|
||||
//this is a conservative estimate: could also check beta_offset and more accurate chroma_qp
|
||||
if(!FRAME_MBAFF){
|
||||
int qp_thresh = 15 - h->slice_alpha_c0_offset - FFMAX(0, FFMAX(h->pps.chroma_qp_index_offset[0], h->pps.chroma_qp_index_offset[1]));
|
||||
int qp_thresh = 15 - h->slice_alpha_c0_offset - FFMAX3(0, h->pps.chroma_qp_index_offset[0], h->pps.chroma_qp_index_offset[1]);
|
||||
int qp = s->current_picture.qscale_table[mb_xy];
|
||||
if(qp <= qp_thresh
|
||||
&& (mb_x == 0 || ((qp + s->current_picture.qscale_table[mb_xy-1] + 1)>>1) <= qp_thresh)
|
||||
|
|
|
@ -123,7 +123,7 @@ read_header:
|
|||
*data_size = sizeof(AVFrame);
|
||||
|
||||
if(!s->lossless){
|
||||
picture->quality= FFMAX(FFMAX(s->qscale[0], s->qscale[1]), s->qscale[2]);
|
||||
picture->quality= FFMAX3(s->qscale[0], s->qscale[1], s->qscale[2]);
|
||||
picture->qstride= 0;
|
||||
picture->qscale_table= s->qscale_table;
|
||||
memset(picture->qscale_table, picture->quality, (s->width+15)/16);
|
||||
|
|
|
@ -1284,7 +1284,7 @@ eoi_parser:
|
|||
*data_size = sizeof(AVFrame);
|
||||
|
||||
if(!s->lossless){
|
||||
picture->quality= FFMAX(FFMAX(s->qscale[0], s->qscale[1]), s->qscale[2]);
|
||||
picture->quality= FFMAX3(s->qscale[0], s->qscale[1], s->qscale[2]);
|
||||
picture->qstride= 0;
|
||||
picture->qscale_table= s->qscale_table;
|
||||
memset(picture->qscale_table, picture->quality, (s->width+15)/16);
|
||||
|
|
|
@ -2814,7 +2814,7 @@ static int encode_picture(MpegEncContext *s, int picture_number)
|
|||
int a,b;
|
||||
a= ff_get_best_fcode(s, s->p_field_mv_table[0][0], CANDIDATE_MB_TYPE_INTER_I); //FIXME field_select
|
||||
b= ff_get_best_fcode(s, s->p_field_mv_table[1][1], CANDIDATE_MB_TYPE_INTER_I);
|
||||
s->f_code= FFMAX(s->f_code, FFMAX(a,b));
|
||||
s->f_code= FFMAX3(s->f_code, a, b);
|
||||
}
|
||||
|
||||
ff_fix_long_p_mvs(s);
|
||||
|
|
|
@ -98,8 +98,8 @@ typedef struct MatroskaSubtitleTrack {
|
|||
//..
|
||||
} MatroskaSubtitleTrack;
|
||||
|
||||
#define MAX_TRACK_SIZE (FFMAX(FFMAX(sizeof(MatroskaVideoTrack), \
|
||||
sizeof(MatroskaAudioTrack)), \
|
||||
#define MAX_TRACK_SIZE (FFMAX3(sizeof(MatroskaVideoTrack), \
|
||||
sizeof(MatroskaAudioTrack), \
|
||||
sizeof(MatroskaSubtitleTrack)))
|
||||
|
||||
typedef struct MatroskaLevel {
|
||||
|
|
|
@ -111,6 +111,7 @@
|
|||
#define FFSIGN(a) ((a) > 0 ? 1 : -1)
|
||||
|
||||
#define FFMAX(a,b) ((a) > (b) ? (a) : (b))
|
||||
#define FFMAX3(a,b,c) FFMAX(FFMAX(a,b),c)
|
||||
#define FFMIN(a,b) ((a) > (b) ? (b) : (a))
|
||||
|
||||
#define FFSWAP(type,a,b) do{type SWAP_tmp= b; b= a; a= SWAP_tmp;}while(0)
|
||||
|
|
Loading…
Reference in New Issue