[FFmpeg-cvslog] h263: Convert function to macro

Vittorio Giovara git at videolan.org
Wed Apr 29 04:22:48 CEST 2015


ffmpeg | branch: master | Vittorio Giovara <vittorio.giovara at gmail.com> | Tue Apr 28 10:38:29 2015 +0100| [0c69164f451cc9ca6ce9d6e7568083e2776bc845] | committer: Vittorio Giovara

h263: Convert function to macro

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0c69164f451cc9ca6ce9d6e7568083e2776bc845
---

 libavcodec/h263.c          |   13 -------------
 libavcodec/h263.h          |    3 ++-
 libavcodec/h263dec.c       |    2 +-
 libavcodec/mpegvideo_enc.c |    2 +-
 libavcodec/vaapi_mpeg4.c   |    2 +-
 5 files changed, 5 insertions(+), 17 deletions(-)

diff --git a/libavcodec/h263.c b/libavcodec/h263.c
index 9019548..6eaab41 100644
--- a/libavcodec/h263.c
+++ b/libavcodec/h263.c
@@ -367,16 +367,3 @@ int16_t *ff_h263_pred_motion(MpegEncContext * s, int block, int dir,
     }
     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;
-}
diff --git a/libavcodec/h263.h b/libavcodec/h263.h
index 1e49100..dace2ae 100644
--- a/libavcodec/h263.h
+++ b/libavcodec/h263.h
@@ -40,6 +40,8 @@
 #define CBPY_VLC_BITS 6
 #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 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);
 int ff_h263_resync(MpegEncContext *s);
 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);
 
 
diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c
index a04db5c..f6f91f3 100644
--- a/libavcodec/h263dec.c
+++ b/libavcodec/h263dec.c
@@ -524,7 +524,7 @@ int ff_h263_decode_frame(AVCodecContext *avctx, void *data, int *got_frame,
     if (s->codec_id == AV_CODEC_ID_H263  ||
         s->codec_id == AV_CODEC_ID_H263P ||
         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
     s->current_picture.f->pict_type = s->pict_type;
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index b0d80b1..428ff72 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -2577,7 +2577,7 @@ static int encode_thread(AVCodecContext *c, void *arg){
     case AV_CODEC_ID_H263P:
     case AV_CODEC_ID_FLV1:
         if (CONFIG_H263_ENCODER)
-            s->gob_index = ff_h263_get_gob_height(s);
+            s->gob_index = H263_GOB_HEIGHT(s->height);
         break;
     case AV_CODEC_ID_MPEG4:
         if(CONFIG_MPEG4_ENCODER && s->partitioned_frame)
diff --git a/libavcodec/vaapi_mpeg4.c b/libavcodec/vaapi_mpeg4.c
index 1cf1ea7..49d5f07 100644
--- a/libavcodec/vaapi_mpeg4.c
+++ b/libavcodec/vaapi_mpeg4.c
@@ -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_backward                       = s->b_code;
     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->TRB                                      = s->pb_time;
     pic_param->TRD                                      = s->pp_time;



More information about the ffmpeg-cvslog mailing list