X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fvc2enc.c;h=ca5cebb742fcbebf1ab8d05e1c49ab1c894bf932;hb=a247ac640df3da573cd661065bf53f37863e2b46;hp=d0101e01e430912eb8630b657210b191e019945f;hpb=768b07e3bca7e81d2f9c60badb3973d3d88481dc;p=ffmpeg diff --git a/libavcodec/vc2enc.c b/libavcodec/vc2enc.c index d0101e01e43..ca5cebb742f 100644 --- a/libavcodec/vc2enc.c +++ b/libavcodec/vc2enc.c @@ -229,12 +229,12 @@ static void encode_parse_info(VC2EncContext *s, enum DiracParseCodes pcode) { uint32_t cur_pos, dist; - avpriv_align_put_bits(&s->pb); + align_put_bits(&s->pb); cur_pos = put_bits_count(&s->pb) >> 3; /* Magic string */ - avpriv_put_string(&s->pb, "BBCD", 0); + ff_put_string(&s->pb, "BBCD", 0); /* Parse code */ put_bits(&s->pb, 8, pcode); @@ -399,7 +399,7 @@ static void encode_source_params(VC2EncContext *s) /* VC-2 11 - sequence_header() */ static void encode_seq_header(VC2EncContext *s) { - avpriv_align_put_bits(&s->pb); + align_put_bits(&s->pb); encode_parse_params(s); put_vc2_ue_uint(&s->pb, s->base_vf); encode_source_params(s); @@ -409,7 +409,7 @@ static void encode_seq_header(VC2EncContext *s) /* VC-2 12.1 - picture_header() */ static void encode_picture_header(VC2EncContext *s) { - avpriv_align_put_bits(&s->pb); + align_put_bits(&s->pb); put_bits32(&s->pb, s->picture_number++); } @@ -423,7 +423,7 @@ static void encode_slice_params(VC2EncContext *s) } /* 1st idx = LL, second - vertical, third - horizontal, fourth - total */ -const uint8_t vc2_qm_col_tab[][4] = { +static const uint8_t vc2_qm_col_tab[][4] = { {20, 9, 15, 4}, { 0, 6, 6, 4}, { 0, 3, 3, 5}, @@ -431,7 +431,7 @@ const uint8_t vc2_qm_col_tab[][4] = { { 0, 11, 10, 11} }; -const uint8_t vc2_qm_flat_tab[][4] = { +static const uint8_t vc2_qm_flat_tab[][4] = { { 0, 0, 0, 0}, { 0, 0, 0, 0}, { 0, 0, 0, 0}, @@ -509,15 +509,15 @@ static void encode_transform_params(VC2EncContext *s) static void encode_wavelet_transform(VC2EncContext *s) { encode_transform_params(s); - avpriv_align_put_bits(&s->pb); + align_put_bits(&s->pb); } /* VC-2 12 - picture_parse() */ static void encode_picture_start(VC2EncContext *s) { - avpriv_align_put_bits(&s->pb); + align_put_bits(&s->pb); encode_picture_header(s); - avpriv_align_put_bits(&s->pb); + align_put_bits(&s->pb); encode_wavelet_transform(s); } @@ -753,7 +753,7 @@ static int encode_hq_slice(AVCodecContext *avctx, void *arg) quants[level][orientation]); } } - avpriv_align_put_bits(pb); + align_put_bits(pb); bytes_len = (put_bits_count(pb) >> 3) - bytes_start - 1; if (p == 2) { int len_diff = slice_bytes_max - (put_bits_count(pb) >> 3); @@ -780,7 +780,6 @@ static int encode_slices(VC2EncContext *s) int slice_x, slice_y, skip = 0; SliceArgs *enc_args = s->slice_args; - avpriv_align_put_bits(&s->pb); flush_put_bits(&s->pb); buf = put_bits_ptr(&s->pb); @@ -867,6 +866,7 @@ static int dwt_plane(AVCodecContext *avctx, void *arg) for (x = 0; x < p->width; x++) { buf[x] = pix[x] - s->diff_offset; } + memset(&buf[x], 0, (p->coef_stride - p->width)*sizeof(dwtcoef)); buf += p->coef_stride; pix += pix_stride; } @@ -876,6 +876,7 @@ static int dwt_plane(AVCodecContext *avctx, void *arg) for (x = 0; x < p->width; x++) { buf[x] = pix[x] - s->diff_offset; } + memset(&buf[x], 0, (p->coef_stride - p->width)*sizeof(dwtcoef)); buf += p->coef_stride; pix += pix_stride; } @@ -930,7 +931,7 @@ static int encode_frame(VC2EncContext *s, AVPacket *avpkt, const AVFrame *frame, /* Encoder version */ if (aux_data) { encode_parse_info(s, DIRAC_PCODE_AUX); - avpriv_put_string(&s->pb, aux_data, 1); + ff_put_string(&s->pb, aux_data, 1); } /* Picture header */ @@ -992,7 +993,7 @@ static av_cold int vc2_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, } flush_put_bits(&s->pb); - avpkt->size = put_bits_count(&s->pb) >> 3; + av_shrink_packet(avpkt, put_bytes_output(&s->pb)); *got_packet = 1; @@ -1225,7 +1226,7 @@ static const enum AVPixelFormat allowed_pix_fmts[] = { AV_PIX_FMT_NONE }; -AVCodec ff_vc2_encoder = { +const AVCodec ff_vc2_encoder = { .name = "vc2", .long_name = NULL_IF_CONFIG_SMALL("SMPTE VC-2"), .type = AVMEDIA_TYPE_VIDEO,