mirror of
https://github.com/xenia-project/FFmpeg.git
synced 2024-11-28 14:01:27 +00:00
h263: Convert function to macro
This commit is contained in:
parent
59dfc2b0c8
commit
0c69164f45
@ -367,16 +367,3 @@ int16_t *ff_h263_pred_motion(MpegEncContext * s, int block, int dir,
|
|||||||
}
|
}
|
||||||
return *mot_val;
|
return *mot_val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the GOB height based on picture height.
|
|
||||||
*/
|
|
||||||
int ff_h263_get_gob_height(MpegEncContext *s){
|
|
||||||
if (s->height <= 400)
|
|
||||||
return 1;
|
|
||||||
else if (s->height <= 800)
|
|
||||||
return 2;
|
|
||||||
else
|
|
||||||
return 4;
|
|
||||||
}
|
|
||||||
|
@ -40,6 +40,8 @@
|
|||||||
#define CBPY_VLC_BITS 6
|
#define CBPY_VLC_BITS 6
|
||||||
#define TEX_VLC_BITS 9
|
#define TEX_VLC_BITS 9
|
||||||
|
|
||||||
|
#define H263_GOB_HEIGHT(h) ((h) <= 400 ? 1 : (h) <= 800 ? 2 : 4)
|
||||||
|
|
||||||
extern const AVRational ff_h263_pixel_aspect[16];
|
extern const AVRational ff_h263_pixel_aspect[16];
|
||||||
extern const uint8_t ff_h263_cbpy_tab[16][2];
|
extern const uint8_t ff_h263_cbpy_tab[16][2];
|
||||||
|
|
||||||
@ -122,7 +124,6 @@ int av_const h263_get_picture_format(int width, int height);
|
|||||||
void ff_clean_h263_qscales(MpegEncContext *s);
|
void ff_clean_h263_qscales(MpegEncContext *s);
|
||||||
int ff_h263_resync(MpegEncContext *s);
|
int ff_h263_resync(MpegEncContext *s);
|
||||||
const uint8_t *ff_h263_find_resync_marker(const uint8_t *p, const uint8_t *end);
|
const uint8_t *ff_h263_find_resync_marker(const uint8_t *p, const uint8_t *end);
|
||||||
int ff_h263_get_gob_height(MpegEncContext *s);
|
|
||||||
void ff_h263_encode_motion(MpegEncContext * s, int val, int f_code);
|
void ff_h263_encode_motion(MpegEncContext * s, int val, int f_code);
|
||||||
|
|
||||||
|
|
||||||
|
@ -524,7 +524,7 @@ int ff_h263_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
|
|||||||
if (s->codec_id == AV_CODEC_ID_H263 ||
|
if (s->codec_id == AV_CODEC_ID_H263 ||
|
||||||
s->codec_id == AV_CODEC_ID_H263P ||
|
s->codec_id == AV_CODEC_ID_H263P ||
|
||||||
s->codec_id == AV_CODEC_ID_H263I)
|
s->codec_id == AV_CODEC_ID_H263I)
|
||||||
s->gob_index = ff_h263_get_gob_height(s);
|
s->gob_index = H263_GOB_HEIGHT(s->height);
|
||||||
|
|
||||||
// for skipping the frame
|
// for skipping the frame
|
||||||
s->current_picture.f->pict_type = s->pict_type;
|
s->current_picture.f->pict_type = s->pict_type;
|
||||||
|
@ -2577,7 +2577,7 @@ static int encode_thread(AVCodecContext *c, void *arg){
|
|||||||
case AV_CODEC_ID_H263P:
|
case AV_CODEC_ID_H263P:
|
||||||
case AV_CODEC_ID_FLV1:
|
case AV_CODEC_ID_FLV1:
|
||||||
if (CONFIG_H263_ENCODER)
|
if (CONFIG_H263_ENCODER)
|
||||||
s->gob_index = ff_h263_get_gob_height(s);
|
s->gob_index = H263_GOB_HEIGHT(s->height);
|
||||||
break;
|
break;
|
||||||
case AV_CODEC_ID_MPEG4:
|
case AV_CODEC_ID_MPEG4:
|
||||||
if(CONFIG_MPEG4_ENCODER && s->partitioned_frame)
|
if(CONFIG_MPEG4_ENCODER && s->partitioned_frame)
|
||||||
|
@ -90,7 +90,7 @@ static int vaapi_mpeg4_start_frame(AVCodecContext *avctx, av_unused const uint8_
|
|||||||
pic_param->vop_fcode_forward = s->f_code;
|
pic_param->vop_fcode_forward = s->f_code;
|
||||||
pic_param->vop_fcode_backward = s->b_code;
|
pic_param->vop_fcode_backward = s->b_code;
|
||||||
pic_param->vop_time_increment_resolution = avctx->framerate.num;
|
pic_param->vop_time_increment_resolution = avctx->framerate.num;
|
||||||
pic_param->num_macroblocks_in_gob = s->mb_width * ff_h263_get_gob_height(s);
|
pic_param->num_macroblocks_in_gob = s->mb_width * H263_GOB_HEIGHT(s->height);
|
||||||
pic_param->num_gobs_in_vop = (s->mb_width * s->mb_height) / pic_param->num_macroblocks_in_gob;
|
pic_param->num_gobs_in_vop = (s->mb_width * s->mb_height) / pic_param->num_macroblocks_in_gob;
|
||||||
pic_param->TRB = s->pb_time;
|
pic_param->TRB = s->pb_time;
|
||||||
pic_param->TRD = s->pp_time;
|
pic_param->TRD = s->pp_time;
|
||||||
|
Loading…
Reference in New Issue
Block a user