diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-05-07 22:42:41 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-05-07 22:51:34 +0200 |
commit | 653d117c29123d353ce3bdd7de71e830a26733c1 (patch) | |
tree | 996ad2bd13c774dc3265cbf0d8ae406372d57307 /libavcodec/libschroedingerdec.c | |
parent | cb982739fa2b43afb7f1262c07804cad41f778de (diff) | |
parent | fdc918632f5c16cf377a2170cd2f101933fb15ff (diff) | |
download | ffmpeg-653d117c29123d353ce3bdd7de71e830a26733c1.tar.gz |
Merge remote-tracking branch 'qatar/master'
* qatar/master:
libschroedinger: Switch to function names more in line with Libav style.
Move code shared between libdirac and libschroedinger to libschroedinger.
lavfi: uninline avfilter_copy_buffer_ref_props().
lavf: add missing '*' in a doxy.
h264: Remove a commented-out function pointer typedef.
txd: Remove write-only variable in txd_decode_frame().
mmvideo.c: Remove unused variable in mm_decode_pal().
build: cosmetics: Add missing end-of-line backslashes to item lists.
build: cosmetics: Split HEADERS/OBJS/PROGS lists into one entry per line.
libschroedinger: Move a function to avoid a forward declaration.
pthread: warn on high thread counts
vf_yadif: fix missing error handling for avfilter_poll_frame()
avprobe: allow showing only one container/stream property.
lavfi: support audio in avfilter_copy_frame_props().
lavfi: avfilter_merge_formats: handle case where inputs are same
lavc: add sample rate and channel layout to AVFrame.
zerocodec: check if the previous frame is missing
doc: clarify check for NULL pointer style
Conflicts:
doc/APIchanges
doc/developer.texi
ffprobe.c
libavcodec/Makefile
libavcodec/avcodec.h
libavcodec/libdirac_libschro.c
libavcodec/libdirac_libschro.h
libavcodec/mmvideo.c
libavcodec/txd.c
libavcodec/version.h
libavcodec/zerocodec.c
libavfilter/Makefile
libavfilter/avfilter.c
libavfilter/version.h
libavformat/Makefile
libavutil/Makefile
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/libschroedingerdec.c')
-rw-r--r-- | libavcodec/libschroedingerdec.c | 42 |
1 files changed, 19 insertions, 23 deletions
diff --git a/libavcodec/libschroedingerdec.c b/libavcodec/libschroedingerdec.c index bd20c40d15..4929eecb28 100644 --- a/libavcodec/libschroedingerdec.c +++ b/libavcodec/libschroedingerdec.c @@ -29,7 +29,6 @@ #include "libavutil/imgutils.h" #include "avcodec.h" -#include "libdirac_libschro.h" #include "libschroedinger.h" #undef NDEBUG @@ -52,7 +51,7 @@ typedef struct SchroDecoderParams { SchroDecoder* decoder; /** queue storing decoded frames */ - DiracSchroQueue dec_frame_queue; + FFSchroQueue dec_frame_queue; /** end of sequence signalled */ int eos_signalled; @@ -71,16 +70,19 @@ typedef struct SchroParseUnitContext { static void libschroedinger_decode_buffer_free(SchroBuffer *schro_buf, - void *priv); + void *priv) +{ + av_freep(&priv); +} -static void SchroParseContextInit(SchroParseUnitContext *parse_ctx, - const uint8_t *buf, int buf_size) +static void parse_context_init(SchroParseUnitContext *parse_ctx, + const uint8_t *buf, int buf_size) { parse_ctx->buf = buf; parse_ctx->buf_size = buf_size; } -static SchroBuffer *FindNextSchroParseUnit(SchroParseUnitContext *parse_ctx) +static SchroBuffer *find_next_parse_unit(SchroParseUnitContext *parse_ctx) { SchroBuffer *enc_buf = NULL; int next_pu_offset = 0; @@ -152,16 +154,10 @@ static av_cold int libschroedinger_decode_init(AVCodecContext *avccontext) return -1; /* Initialize the decoded frame queue. */ - ff_dirac_schro_queue_init(&p_schro_params->dec_frame_queue); + ff_schro_queue_init(&p_schro_params->dec_frame_queue); return 0; } -static void libschroedinger_decode_buffer_free(SchroBuffer *schro_buf, - void *priv) -{ - av_freep(&priv); -} - static void libschroedinger_decode_frame_free(void *frame) { schro_frame_unref(frame); @@ -223,7 +219,7 @@ static int libschroedinger_decode_frame(AVCodecContext *avccontext, *data_size = 0; - SchroParseContextInit(&parse_ctx, buf, buf_size); + parse_context_init(&parse_ctx, buf, buf_size); if (!buf_size) { if (!p_schro_params->eos_signalled) { state = schro_decoder_push_end_of_stream(decoder); @@ -233,7 +229,7 @@ static int libschroedinger_decode_frame(AVCodecContext *avccontext, /* Loop through all the individual parse units in the input buffer */ do { - if ((enc_buf = FindNextSchroParseUnit(&parse_ctx))) { + if ((enc_buf = find_next_parse_unit(&parse_ctx))) { /* Push buffer into decoder. */ if (SCHRO_PARSE_CODE_IS_PICTURE(enc_buf->data[4]) && SCHRO_PARSE_CODE_NUM_REFS(enc_buf->data[4]) > 0) @@ -270,8 +266,8 @@ static int libschroedinger_decode_frame(AVCodecContext *avccontext, frame = schro_decoder_pull(decoder); if (frame) - ff_dirac_schro_queue_push_back(&p_schro_params->dec_frame_queue, - frame); + ff_schro_queue_push_back(&p_schro_params->dec_frame_queue, + frame); break; case SCHRO_DECODER_EOS: go = 0; @@ -288,7 +284,7 @@ static int libschroedinger_decode_frame(AVCodecContext *avccontext, } while (outer); /* Grab next frame to be returned from the top of the queue. */ - frame = ff_dirac_schro_queue_pop(&p_schro_params->dec_frame_queue); + frame = ff_schro_queue_pop(&p_schro_params->dec_frame_queue); if (frame) { memcpy(p_schro_params->dec_pic.data[0], @@ -327,8 +323,8 @@ static av_cold int libschroedinger_decode_close(AVCodecContext *avccontext) avpicture_free(&p_schro_params->dec_pic); /* Free data in the output frame queue. */ - ff_dirac_schro_queue_free(&p_schro_params->dec_frame_queue, - libschroedinger_decode_frame_free); + ff_schro_queue_free(&p_schro_params->dec_frame_queue, + libschroedinger_decode_frame_free); return 0; } @@ -340,10 +336,10 @@ static void libschroedinger_flush(AVCodecContext *avccontext) SchroDecoderParams *p_schro_params = avccontext->priv_data; /* Free data in the output frame queue. */ - ff_dirac_schro_queue_free(&p_schro_params->dec_frame_queue, - libschroedinger_decode_frame_free); + ff_schro_queue_free(&p_schro_params->dec_frame_queue, + libschroedinger_decode_frame_free); - ff_dirac_schro_queue_init(&p_schro_params->dec_frame_queue); + ff_schro_queue_init(&p_schro_params->dec_frame_queue); schro_decoder_reset(p_schro_params->decoder); p_schro_params->eos_pulled = 0; p_schro_params->eos_signalled = 0; |