ref: bc9204a90ee1bfacd15f09c7b8b18a52d7e2771d
parent: 30c8cdf374d9f41cfd750e1b2ffd232c3c31fb56
author: Dmitry Kovalev <[email protected]>
date: Tue Aug 26 10:32:51 EDT 2014
Adding get_frame_pkt_flags() function. Change-Id: Icfacc695a711ec325b1d8f2b5d927a720e2bd6b4
--- a/vp9/vp9_cx_iface.c
+++ b/vp9/vp9_cx_iface.c
@@ -804,6 +804,23 @@
return (n * timebase->den + round) / timebase->num / TICKS_PER_SEC;
}
+static vpx_codec_frame_flags_t get_frame_pkt_flags(const VP9_COMP *cpi,
+ unsigned int lib_flags) {
+ vpx_codec_frame_flags_t flags = lib_flags << 16;
+
+ if (lib_flags & FRAMEFLAGS_KEY
+#if CONFIG_SPATIAL_SVC
+ || (is_spatial_svc(cpi) && cpi->svc.layer_context[0].is_key_frame)
+#endif
+ )
+ flags |= VPX_FRAME_IS_KEY;
+
+ if (cpi->droppable)
+ flags |= VPX_FRAME_IS_DROPPABLE;
+
+ return flags;
+}
+
static vpx_codec_err_t encoder_encode(vpx_codec_alg_priv_t *ctx,
const vpx_image_t *img,
vpx_codec_pts_t pts,
@@ -934,18 +951,7 @@
pkt.data.frame.duration =
(unsigned long)ticks_to_timebase_units(timebase,
dst_end_time_stamp - dst_time_stamp);
- pkt.data.frame.flags = lib_flags << 16;
-
- if (lib_flags & FRAMEFLAGS_KEY
-#if CONFIG_SPATIAL_SVC
- || (is_spatial_svc(cpi) &&
- cpi->svc.layer_context[0].is_key_frame)
-#endif
- )
- pkt.data.frame.flags |= VPX_FRAME_IS_KEY;
-
- if (cpi->droppable)
- pkt.data.frame.flags |= VPX_FRAME_IS_DROPPABLE;
+ pkt.data.frame.flags = get_frame_pkt_flags(cpi, lib_flags);
if (ctx->pending_cx_data) {
ctx->pending_frame_sizes[ctx->pending_frame_count++] = size;