1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

Merge commit '74a9a624c5c4d50760d8d57458eba57366f6cb26'

* commit '74a9a624c5c4d50760d8d57458eba57366f6cb26':
  vcr1: return a meaningful error code.
  rpza: return a meaningful error code.
  qdrw: cosmetics, reformat

Conflicts:
	libavcodec/qdrw.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2013-01-14 15:17:16 +01:00
commit 4adc8a29a0
3 changed files with 27 additions and 24 deletions

View File

@ -29,7 +29,7 @@
#include "avcodec.h" #include "avcodec.h"
#include "internal.h" #include "internal.h"
typedef struct QdrawContext{ typedef struct QdrawContext {
AVCodecContext *avctx; AVCodecContext *avctx;
AVFrame pic; AVFrame pic;
} QdrawContext; } QdrawContext;
@ -49,16 +49,16 @@ static int decode_frame(AVCodecContext *avctx,
uint32_t *pal; uint32_t *pal;
int r, g, b; int r, g, b;
if(p->data[0]) if (p->data[0])
avctx->release_buffer(avctx, p); avctx->release_buffer(avctx, p);
p->reference= 0; p->reference = 0;
if ((ret = ff_get_buffer(avctx, p)) < 0) { if ((ret = ff_get_buffer(avctx, p)) < 0) {
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n"); av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
return ret; return ret;
} }
p->pict_type= AV_PICTURE_TYPE_I; p->pict_type = AV_PICTURE_TYPE_I;
p->key_frame= 1; p->key_frame = 1;
outdata = a->pic.data[0]; outdata = a->pic.data[0];
@ -68,7 +68,7 @@ static int decode_frame(AVCodecContext *avctx,
colors = AV_RB32(buf); colors = AV_RB32(buf);
buf += 4; buf += 4;
if(colors < 0 || colors > 256) { if (colors < 0 || colors > 256) {
av_log(avctx, AV_LOG_ERROR, "Error color count - %i(0x%X)\n", colors, colors); av_log(avctx, AV_LOG_ERROR, "Error color count - %i(0x%X)\n", colors, colors);
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
} }
@ -146,7 +146,8 @@ static int decode_frame(AVCodecContext *avctx,
return buf_size; return buf_size;
} }
static av_cold int decode_init(AVCodecContext *avctx){ static av_cold int decode_init(AVCodecContext *avctx)
{
QdrawContext * const a = avctx->priv_data; QdrawContext * const a = avctx->priv_data;
avcodec_get_frame_defaults(&a->pic); avcodec_get_frame_defaults(&a->pic);
@ -155,7 +156,8 @@ static av_cold int decode_init(AVCodecContext *avctx){
return 0; return 0;
} }
static av_cold int decode_end(AVCodecContext *avctx){ static av_cold int decode_end(AVCodecContext *avctx)
{
QdrawContext * const a = avctx->priv_data; QdrawContext * const a = avctx->priv_data;
AVFrame *pic = &a->pic; AVFrame *pic = &a->pic;

View File

@ -251,15 +251,16 @@ static int rpza_decode_frame(AVCodecContext *avctx,
const uint8_t *buf = avpkt->data; const uint8_t *buf = avpkt->data;
int buf_size = avpkt->size; int buf_size = avpkt->size;
RpzaContext *s = avctx->priv_data; RpzaContext *s = avctx->priv_data;
int ret;
s->buf = buf; s->buf = buf;
s->size = buf_size; s->size = buf_size;
s->frame.reference = 3; s->frame.reference = 3;
s->frame.buffer_hints = FF_BUFFER_HINTS_VALID | FF_BUFFER_HINTS_PRESERVE | FF_BUFFER_HINTS_REUSABLE; s->frame.buffer_hints = FF_BUFFER_HINTS_VALID | FF_BUFFER_HINTS_PRESERVE | FF_BUFFER_HINTS_REUSABLE;
if (avctx->reget_buffer(avctx, &s->frame)) { if ((ret = avctx->reget_buffer(avctx, &s->frame)) < 0) {
av_log(avctx, AV_LOG_ERROR, "reget_buffer() failed\n"); av_log(avctx, AV_LOG_ERROR, "reget_buffer() failed\n");
return -1; return ret;
} }
rpza_decode_stream(s); rpza_decode_stream(s);

View File

@ -77,7 +77,7 @@ static int vcr1_decode_frame(AVCodecContext *avctx, void *data,
AVFrame *picture = data; AVFrame *picture = data;
AVFrame *const p = &a->picture; AVFrame *const p = &a->picture;
const uint8_t *bytestream = buf; const uint8_t *bytestream = buf;
int i, x, y; int i, x, y, ret;
if (p->data[0]) if (p->data[0])
avctx->release_buffer(avctx, p); avctx->release_buffer(avctx, p);
@ -88,9 +88,9 @@ static int vcr1_decode_frame(AVCodecContext *avctx, void *data,
} }
p->reference = 0; p->reference = 0;
if (ff_get_buffer(avctx, p) < 0) { if ((ret = ff_get_buffer(avctx, p)) < 0) {
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n"); av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
return -1; return ret;
} }
p->pict_type = AV_PICTURE_TYPE_I; p->pict_type = AV_PICTURE_TYPE_I;
p->key_frame = 1; p->key_frame = 1;