From ee0ebd3c1412fdd9d80aa97c98d1a20b893f1f47 Mon Sep 17 00:00:00 2001 From: Gabriel Dume Date: Mon, 8 Sep 2014 13:40:28 -0400 Subject: dv: K&R formatting cosmetics Signed-off-by: Diego Biurrun --- libavcodec/dvdec.c | 162 ++++++++++++++++++++++++++++------------------------- 1 file changed, 87 insertions(+), 75 deletions(-) (limited to 'libavcodec/dvdec.c') diff --git a/libavcodec/dvdec.c b/libavcodec/dvdec.c index 876a4a2b4a..611a4a7cf4 100644 --- a/libavcodec/dvdec.c +++ b/libavcodec/dvdec.c @@ -35,17 +35,18 @@ * DV decoder */ -#include "libavutil/internal.h" #include "libavutil/imgutils.h" +#include "libavutil/internal.h" #include "libavutil/pixdesc.h" + #include "avcodec.h" +#include "dv.h" +#include "dvdata.h" +#include "get_bits.h" #include "idctdsp.h" #include "internal.h" -#include "get_bits.h" #include "put_bits.h" #include "simple_idct.h" -#include "dvdata.h" -#include "dv.h" typedef struct BlockInfo { const uint32_t *factor_table; @@ -68,7 +69,7 @@ static av_cold int dvvideo_decode_init(AVCodecContext *avctx) ff_idctdsp_init(&idsp, avctx); for (i = 0; i < 64; i++) - s->dv_zigzag[0][i] = idsp.idct_permutation[ff_zigzag_direct[i]]; + s->dv_zigzag[0][i] = idsp.idct_permutation[ff_zigzag_direct[i]]; memcpy(s->dv_zigzag[1], ff_dv_zigzag248_direct, sizeof(s->dv_zigzag[1])); @@ -84,8 +85,8 @@ static void dv_decode_ac(GetBitContext *gb, BlockInfo *mb, int16_t *block) int last_index = gb->size_in_bits; const uint8_t *scan_table = mb->scan_table; const uint32_t *factor_table = mb->factor_table; - int pos = mb->pos; - int partial_bit_count = mb->partial_bit_count; + int pos = mb->pos; + int partial_bit_count = mb->partial_bit_count; int level, run, vlc_len, index; OPEN_READER_NOSIZE(re, gb); @@ -93,8 +94,9 @@ static void dv_decode_ac(GetBitContext *gb, BlockInfo *mb, int16_t *block) /* if we must parse a partial VLC, we do it here */ if (partial_bit_count > 0) { - re_cache = re_cache >> partial_bit_count | mb->partial_bit_buffer; - re_index -= partial_bit_count; + re_cache = re_cache >> partial_bit_count | + mb->partial_bit_buffer; + re_index -= partial_bit_count; mb->partial_bit_count = 0; } @@ -106,7 +108,7 @@ static void dv_decode_ac(GetBitContext *gb, BlockInfo *mb, int16_t *block) index = NEG_USR32(re_cache, TEX_VLC_BITS); vlc_len = ff_dv_rl_vlc[index].len; if (vlc_len < 0) { - index = NEG_USR32((unsigned)re_cache << TEX_VLC_BITS, -vlc_len) + + index = NEG_USR32((unsigned) re_cache << TEX_VLC_BITS, -vlc_len) + ff_dv_rl_vlc[index].level; vlc_len = TEX_VLC_BITS - vlc_len; } @@ -116,9 +118,9 @@ static void dv_decode_ac(GetBitContext *gb, BlockInfo *mb, int16_t *block) /* gotta check if we're still within gb boundaries */ if (re_index + vlc_len > last_index) { /* should be < 16 bits otherwise a codeword could have been parsed */ - mb->partial_bit_count = last_index - re_index; + mb->partial_bit_count = last_index - re_index; mb->partial_bit_buffer = re_cache & ~(-1u >> mb->partial_bit_count); - re_index = last_index; + re_index = last_index; break; } re_index += vlc_len; @@ -128,7 +130,8 @@ static void dv_decode_ac(GetBitContext *gb, BlockInfo *mb, int16_t *block) if (pos >= 64) break; - level = (level * factor_table[pos] + (1 << (dv_iweight_bits - 1))) >> dv_iweight_bits; + level = (level * factor_table[pos] + (1 << (dv_iweight_bits - 1))) >> + dv_iweight_bits; block[scan_table[pos]] = level; UPDATE_CACHE(re, gb); @@ -144,9 +147,8 @@ static inline void bit_copy(PutBitContext *pb, GetBitContext *gb) put_bits(pb, MIN_CACHE_BITS, get_bits(gb, MIN_CACHE_BITS)); bits_left -= MIN_CACHE_BITS; } - if (bits_left > 0) { + if (bits_left > 0) put_bits(pb, bits_left, get_bits(gb, bits_left)); - } } /* mb_x and mb_y are in units of 8 pixels */ @@ -164,25 +166,25 @@ static int dv_decode_video_segment(AVCodecContext *avctx, void *arg) PutBitContext pb, vs_pb; GetBitContext gb; BlockInfo mb_data[5 * DV_MAX_BPM], *mb, *mb1; - LOCAL_ALIGNED_16(int16_t, sblock, [5*DV_MAX_BPM], [64]); - LOCAL_ALIGNED_16(uint8_t, mb_bit_buffer, [ 80 + FF_INPUT_BUFFER_PADDING_SIZE]); /* allow some slack */ - LOCAL_ALIGNED_16(uint8_t, vs_bit_buffer, [5*80 + FF_INPUT_BUFFER_PADDING_SIZE]); /* allow some slack */ + LOCAL_ALIGNED_16(int16_t, sblock, [5 * DV_MAX_BPM], [64]); + LOCAL_ALIGNED_16(uint8_t, mb_bit_buffer, [80 + FF_INPUT_BUFFER_PADDING_SIZE]); /* allow some slack */ + LOCAL_ALIGNED_16(uint8_t, vs_bit_buffer, [80 * 5 + FF_INPUT_BUFFER_PADDING_SIZE]); /* allow some slack */ const int log2_blocksize = 3; int is_field_mode[5]; - assert((((int)mb_bit_buffer) & 7) == 0); - assert((((int)vs_bit_buffer) & 7) == 0); + assert((((int) mb_bit_buffer) & 7) == 0); + assert((((int) vs_bit_buffer) & 7) == 0); - memset(sblock, 0, 5*DV_MAX_BPM*sizeof(*sblock)); + memset(sblock, 0, 5 * DV_MAX_BPM * sizeof(*sblock)); /* pass 1: read DC and AC coefficients in blocks */ - buf_ptr = &s->buf[work_chunk->buf_offset*80]; + buf_ptr = &s->buf[work_chunk->buf_offset * 80]; block1 = &sblock[0][0]; mb1 = mb_data; init_put_bits(&vs_pb, vs_bit_buffer, 5 * 80); for (mb_index = 0; mb_index < 5; mb_index++, mb1 += s->sys->bpm, block1 += s->sys->bpm * 64) { /* skip header */ - quant = buf_ptr[3] & 0x0f; + quant = buf_ptr[3] & 0x0f; buf_ptr += 4; init_put_bits(&pb, mb_bit_buffer, 80); mb = mb1; @@ -199,20 +201,24 @@ static int dv_decode_video_segment(AVCodecContext *avctx, void *arg) if (DV_PROFILE_IS_HD(s->sys)) { mb->idct_put = s->idct_put[0]; mb->scan_table = s->dv_zigzag[0]; - mb->factor_table = &s->idct_factor[(j >= 4)*4*16*64 + class1*16*64 + quant*64]; + mb->factor_table = &s->idct_factor[(j >= 4) * 4 * 16 * 64 + + class1 * 16 * 64 + + quant * 64]; is_field_mode[mb_index] |= !j && dct_mode; } else { mb->idct_put = s->idct_put[dct_mode && log2_blocksize == 3]; mb->scan_table = s->dv_zigzag[dct_mode]; - mb->factor_table = &s->idct_factor[(class1 == 3)*2*22*64 + dct_mode*22*64 + - (quant + ff_dv_quant_offset[class1])*64]; + mb->factor_table = + &s->idct_factor[(class1 == 3) * 2 * 22 * 64 + + dct_mode * 22 * 64 + + (quant + ff_dv_quant_offset[class1]) * 64]; } dc = dc << 2; /* convert to unsigned because 128 is not added in the - standard IDCT */ - dc += 1024; - block[0] = dc; - buf_ptr += last_index >> 3; + * standard IDCT */ + dc += 1024; + block[0] = dc; + buf_ptr += last_index >> 3; mb->pos = 0; mb->partial_bit_count = 0; @@ -220,7 +226,7 @@ static int dv_decode_video_segment(AVCodecContext *avctx, void *arg) dv_decode_ac(&gb, mb, block); /* write the remaining bits in a new buffer only if the - block is finished */ + * block is finished */ if (mb->pos >= 64) bit_copy(&pb, &gb); @@ -244,7 +250,7 @@ static int dv_decode_video_segment(AVCodecContext *avctx, void *arg) } } /* all blocks are finished, so the extra bytes can be used at - the video segment level */ + * the video segment level */ if (j >= s->sys->bpm) bit_copy(&vs_pb, &gb); } @@ -263,7 +269,8 @@ static int dv_decode_video_segment(AVCodecContext *avctx, void *arg) dv_decode_ac(&gb, mb, block); } if (mb->pos >= 64 && mb->pos < 127) - av_log(avctx, AV_LOG_ERROR, "AC EOB marker is absent pos=%d\n", mb->pos); + av_log(avctx, AV_LOG_ERROR, + "AC EOB marker is absent pos=%d\n", mb->pos); block += 64; mb++; } @@ -276,25 +283,27 @@ static int dv_decode_video_segment(AVCodecContext *avctx, void *arg) dv_calculate_mb_xy(s, work_chunk, mb_index, &mb_x, &mb_y); /* idct_put'ting luminance */ - if ((s->sys->pix_fmt == AV_PIX_FMT_YUV420P) || + if ((s->sys->pix_fmt == AV_PIX_FMT_YUV420P) || (s->sys->pix_fmt == AV_PIX_FMT_YUV411P && mb_x >= (704 / 8)) || (s->sys->height >= 720 && mb_y != 134)) { - y_stride = (s->frame->linesize[0] << ((!is_field_mode[mb_index]) * log2_blocksize)); + y_stride = (s->frame->linesize[0] << + ((!is_field_mode[mb_index]) * log2_blocksize)); } else { y_stride = (2 << log2_blocksize); } - y_ptr = s->frame->data[0] + ((mb_y * s->frame->linesize[0] + mb_x) << log2_blocksize); + y_ptr = s->frame->data[0] + + ((mb_y * s->frame->linesize[0] + mb_x) << log2_blocksize); linesize = s->frame->linesize[0] << is_field_mode[mb_index]; - mb[0] .idct_put(y_ptr , linesize, block + 0*64); + mb[0].idct_put(y_ptr, linesize, block + 0 * 64); if (s->sys->video_stype == 4) { /* SD 422 */ - mb[2].idct_put(y_ptr + (1 << log2_blocksize) , linesize, block + 2*64); + mb[2].idct_put(y_ptr + (1 << log2_blocksize), linesize, block + 2 * 64); } else { - mb[1].idct_put(y_ptr + (1 << log2_blocksize) , linesize, block + 1*64); - mb[2].idct_put(y_ptr + y_stride, linesize, block + 2*64); - mb[3].idct_put(y_ptr + (1 << log2_blocksize) + y_stride, linesize, block + 3*64); + mb[1].idct_put(y_ptr + (1 << log2_blocksize), linesize, block + 1 * 64); + mb[2].idct_put(y_ptr + y_stride, linesize, block + 2 * 64); + mb[3].idct_put(y_ptr + (1 << log2_blocksize) + y_stride, linesize, block + 3 * 64); } - mb += 4; - block += 4*64; + mb += 4; + block += 4 * 64; /* idct_put'ting chrominance */ c_offset = (((mb_y >> (s->sys->pix_fmt == AV_PIX_FMT_YUV420P)) * s->frame->linesize[1] + @@ -302,28 +311,31 @@ static int dv_decode_video_segment(AVCodecContext *avctx, void *arg) for (j = 2; j; j--) { uint8_t *c_ptr = s->frame->data[j] + c_offset; if (s->sys->pix_fmt == AV_PIX_FMT_YUV411P && mb_x >= (704 / 8)) { - uint64_t aligned_pixels[64/8]; - uint8_t *pixels = (uint8_t*)aligned_pixels; - uint8_t *c_ptr1, *ptr1; - int x, y; - mb->idct_put(pixels, 8, block); - for (y = 0; y < (1 << log2_blocksize); y++, c_ptr += s->frame->linesize[j], pixels += 8) { - ptr1 = pixels + (1 << (log2_blocksize - 1)); - c_ptr1 = c_ptr + (s->frame->linesize[j] << log2_blocksize); - for (x = 0; x < (1 << (log2_blocksize - 1)); x++) { - c_ptr[x] = pixels[x]; - c_ptr1[x] = ptr1[x]; - } - } - block += 64; mb++; + uint64_t aligned_pixels[64 / 8]; + uint8_t *pixels = (uint8_t *) aligned_pixels; + uint8_t *c_ptr1, *ptr1; + int x, y; + mb->idct_put(pixels, 8, block); + for (y = 0; y < (1 << log2_blocksize); y++, c_ptr += s->frame->linesize[j], pixels += 8) { + ptr1 = pixels + (1 << (log2_blocksize - 1)); + c_ptr1 = c_ptr + (s->frame->linesize[j] << log2_blocksize); + for (x = 0; x < (1 << (log2_blocksize - 1)); x++) { + c_ptr[x] = pixels[x]; + c_ptr1[x] = ptr1[x]; + } + } + block += 64; + mb++; } else { - y_stride = (mb_y == 134) ? (1 << log2_blocksize) : - s->frame->linesize[j] << ((!is_field_mode[mb_index]) * log2_blocksize); - linesize = s->frame->linesize[j] << is_field_mode[mb_index]; - (mb++)-> idct_put(c_ptr , linesize, block); block += 64; - if (s->sys->bpm == 8) { - (mb++)->idct_put(c_ptr + y_stride, linesize, block); block += 64; - } + y_stride = (mb_y == 134) ? (1 << log2_blocksize) : + s->frame->linesize[j] << ((!is_field_mode[mb_index]) * log2_blocksize); + linesize = s->frame->linesize[j] << is_field_mode[mb_index]; + (mb++)->idct_put(c_ptr, linesize, block); + block += 64; + if (s->sys->bpm == 8) { + (mb++)->idct_put(c_ptr + y_stride, linesize, block); + block += 64; + } } } } @@ -331,15 +343,14 @@ static int dv_decode_video_segment(AVCodecContext *avctx, void *arg) } /* NOTE: exactly one frame must be given (120000 bytes for NTSC, - 144000 bytes for PAL - or twice those for 50Mbps) */ -static int dvvideo_decode_frame(AVCodecContext *avctx, - void *data, int *got_frame, - AVPacket *avpkt) + * 144000 bytes for PAL - or twice those for 50Mbps) */ +static int dvvideo_decode_frame(AVCodecContext *avctx, void *data, + int *got_frame, AVPacket *avpkt) { uint8_t *buf = avpkt->data; int buf_size = avpkt->size; DVVideoContext *s = avctx->priv_data; - const uint8_t* vsc_pack; + const uint8_t *vsc_pack; int apt, is16_9, ret; const AVDVProfile *sys; @@ -361,18 +372,19 @@ static int dvvideo_decode_frame(AVCodecContext *avctx, s->frame = data; s->frame->key_frame = 1; s->frame->pict_type = AV_PICTURE_TYPE_I; - avctx->pix_fmt = s->sys->pix_fmt; - avctx->time_base = s->sys->time_base; + avctx->pix_fmt = s->sys->pix_fmt; + avctx->time_base = s->sys->time_base; ret = ff_set_dimensions(avctx, s->sys->width, s->sys->height); if (ret < 0) return ret; /* Determine the codec's sample_aspect ratio from the packet */ - vsc_pack = buf + 80*5 + 48 + 5; - if ( *vsc_pack == dv_video_control ) { - apt = buf[4] & 0x07; - is16_9 = (vsc_pack && ((vsc_pack[2] & 0x07) == 0x02 || (!apt && (vsc_pack[2] & 0x07) == 0x07))); + vsc_pack = buf + 80 * 5 + 48 + 5; + if (*vsc_pack == dv_video_control) { + apt = buf[4] & 0x07; + is16_9 = (vsc_pack && ((vsc_pack[2] & 0x07) == 0x02 || + (!apt && (vsc_pack[2] & 0x07) == 0x07))); ff_set_sar(avctx, s->sys->sar[is16_9]); } -- cgit v1.2.3