X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fxl.c;h=fb4241f255aeae5d901be84c9a1e40c46ebf8fb7;hb=238ef6dadd13b9a867eaa7382bdba751e25c40b9;hp=8a011d887507d3a569ce895f7cdc247aae27fbf3;hpb=fead30d4440bc7b75006ae60f2742c63a05168b3;p=ffmpeg diff --git a/libavcodec/xl.c b/libavcodec/xl.c index 8a011d88750..fb4241f255a 100644 --- a/libavcodec/xl.c +++ b/libavcodec/xl.c @@ -17,16 +17,15 @@ * You should have received a copy of the GNU Lesser General Public * License along with FFmpeg; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * */ /** - * @file xl.c + * @file libavcodec/xl.c * Miro VideoXL codec. */ +#include "libavutil/intreadwrite.h" #include "avcodec.h" -#include "mpegvideo.h" typedef struct VideoXLContext{ AVCodecContext *avctx; @@ -41,15 +40,17 @@ static const int xl_table[32] = { static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, - uint8_t *buf, int buf_size) + AVPacket *avpkt) { + const uint8_t *buf = avpkt->data; + int buf_size = avpkt->size; VideoXLContext * const a = avctx->priv_data; AVFrame * const p= (AVFrame*)&a->pic; uint8_t *Y, *U, *V; int i, j; int stride; uint32_t val; - int y0, y1, y2, y3, c0, c1; + int y0, y1, y2, y3 = 0, c0 = 0, c1 = 0; if(p->data[0]) avctx->release_buffer(avctx, p); @@ -59,7 +60,7 @@ static int decode_frame(AVCodecContext *avctx, av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n"); return -1; } - p->pict_type= I_TYPE; + p->pict_type= FF_I_TYPE; p->key_frame= 1; Y = a->pic.data[0]; @@ -119,7 +120,7 @@ static int decode_frame(AVCodecContext *avctx, return buf_size; } -static int decode_init(AVCodecContext *avctx){ +static av_cold int decode_init(AVCodecContext *avctx){ // VideoXLContext * const a = avctx->priv_data; avctx->pix_fmt= PIX_FMT_YUV411P; @@ -137,4 +138,5 @@ AVCodec xl_decoder = { NULL, decode_frame, CODEC_CAP_DR1, + .long_name = NULL_IF_CONFIG_SMALL("Miro VideoXL"), };