#include "config.h"
#include "libavutil/attributes.h"
+#include "libavutil/internal.h"
#include "libavutil/pixdesc.h"
#include "avcodec.h"
#include "dv_tablegen.h"
#include "fdctdsp.h"
#include "internal.h"
+#include "mathops.h"
#include "me_cmp.h"
#include "pixblockdsp.h"
#include "put_bits.h"
return ret;
}
- avctx->coded_frame = av_frame_alloc();
- if (!avctx->coded_frame)
- return AVERROR(ENOMEM);
-
dv_vlc_map_tableinit();
ff_fdctdsp_init(&fdsp, avctx);
}
static av_always_inline int dv_guess_dct_mode(DVVideoContext *s, uint8_t *data,
- int linesize)
+ ptrdiff_t linesize)
{
- if (s->avctx->flags & CODEC_FLAG_INTERLACED_DCT) {
+ if (s->avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) {
int ps = s->ildct_cmp(NULL, data, NULL, linesize, 8) - 400;
if (ps > 0) {
int is = s->ildct_cmp(NULL, data, NULL, linesize << 1, 4) +
};
static av_always_inline int dv_init_enc_block(EncBlockInfo *bi, uint8_t *data,
- int linesize, DVVideoContext *s,
- int bias)
+ ptrdiff_t linesize,
+ DVVideoContext *s, int bias)
{
const int *weight;
const uint8_t *zigzag_scan;
DVVideoContext *s = avctx->priv_data;
DVwork_chunk *work_chunk = arg;
int mb_index, i, j;
- int mb_x, mb_y, c_offset, linesize, y_stride;
+ int mb_x, mb_y, c_offset;
+ ptrdiff_t linesize, y_stride;
uint8_t *y_ptr;
uint8_t *dif;
LOCAL_ALIGNED_8(uint8_t, scratch, [128]);
c->pix_fmt = s->sys->pix_fmt;
s->frame = frame;
+#if FF_API_CODED_FRAME
+FF_DISABLE_DEPRECATION_WARNINGS
c->coded_frame->key_frame = 1;
c->coded_frame->pict_type = AV_PICTURE_TYPE_I;
+FF_ENABLE_DEPRECATION_WARNINGS
+#endif
s->buf = pkt->data;
c->execute(c, dv_encode_video_segment, s->work_chunks, NULL,
return 0;
}
-static int dvvideo_encode_close(AVCodecContext *avctx)
-{
- av_frame_free(&avctx->coded_frame);
- return 0;
-}
-
AVCodec ff_dvvideo_encoder = {
.name = "dvvideo",
.long_name = NULL_IF_CONFIG_SMALL("DV (Digital Video)"),
.priv_data_size = sizeof(DVVideoContext),
.init = dvvideo_encode_init,
.encode2 = dvvideo_encode_frame,
- .close = dvvideo_encode_close,
- .capabilities = CODEC_CAP_SLICE_THREADS,
+ .capabilities = AV_CODEC_CAP_SLICE_THREADS,
.pix_fmts = (const enum AVPixelFormat[]) {
AV_PIX_FMT_YUV411P, AV_PIX_FMT_YUV422P,
AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE