diff options
Diffstat (limited to 'src/libffmpeg/libavcodec/utils.c')
-rw-r--r-- | src/libffmpeg/libavcodec/utils.c | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/src/libffmpeg/libavcodec/utils.c b/src/libffmpeg/libavcodec/utils.c index a422cf282..3a30e734e 100644 --- a/src/libffmpeg/libavcodec/utils.c +++ b/src/libffmpeg/libavcodec/utils.c @@ -84,7 +84,7 @@ void *__av_mallocz_static(void** location, unsigned int size) return ptr; } /* free all static arrays and reset pointers to 0 */ -void av_free_static() +void av_free_static(void) { if (array_static) { @@ -157,8 +157,9 @@ int avcodec_default_get_buffer(AVCodecContext *s, AVFrame *pic){ int w, h, pixel_size; avcodec_get_chroma_sub_sample(s->pix_fmt, &h_chroma_shift, &v_chroma_shift); - switch(s->pix_fmt){ + case PIX_FMT_RGB555: + case PIX_FMT_RGB565: case PIX_FMT_YUV422: pixel_size=2; break; @@ -343,9 +344,15 @@ int avcodec_encode_video(AVCodecContext *avctx, uint8_t *buf, int buf_size, return ret; } -/* decode a frame. return -1 if error, otherwise return the number of - bytes used. If no frame could be decompressed, *got_picture_ptr is - zero. Otherwise, it is non zero */ +/** + * decode a frame. + * @param buf bitstream buffer, must be FF_INPUT_BUFFER_PADDING_SIZE larger then the actual read bytes + * because some optimized bitstream readers read 32 or 64 bit at once and could read over the end + * @param buf_size the size of the buffer in bytes + * @param got_picture_ptr zero if no frame could be decompressed, Otherwise, it is non zero + * @return -1 if error, otherwise return the number of + * bytes used. + */ int avcodec_decode_video(AVCodecContext *avctx, AVFrame *picture, int *got_picture_ptr, uint8_t *buf, int buf_size) @@ -634,6 +641,18 @@ void avcodec_default_free_buffers(AVCodecContext *s){ s->internal_buffer_count=0; } +char av_get_pict_type_char(int pict_type){ + switch(pict_type){ + case I_TYPE: return 'I'; + case P_TYPE: return 'P'; + case B_TYPE: return 'B'; + case S_TYPE: return 'S'; + case SI_TYPE:return 'i'; + case SP_TYPE:return 'p'; + default: return '?'; + } +} + int av_reduce(int *dst_nom, int *dst_den, int64_t nom, int64_t den, int64_t max){ int exact=1, sign=0; int64_t gcd, larger; |