mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-26 20:50:34 +00:00
Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'
* commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb': cosmetics: Fix spelling mistakes Merged-by: Clément Bœsch <u@pkh.me>
This commit is contained in:
commit
8ef57a0d61
@ -914,8 +914,8 @@ version 0.8:
|
||||
- showinfo filter added
|
||||
- SMPTE 302M AES3 audio decoder
|
||||
- Apple Core Audio Format muxer
|
||||
- 9bit and 10bit per sample support in the H.264 decoder
|
||||
- 9bit and 10bit FFV1 encoding / decoding
|
||||
- 9 bits and 10 bits per sample support in the H.264 decoder
|
||||
- 9 bits and 10 bits FFV1 encoding / decoding
|
||||
- split filter added
|
||||
- select filter added
|
||||
- sdl output device added
|
||||
@ -1208,7 +1208,7 @@ version 0.4.9-pre1:
|
||||
- rate distorted optimal lambda->qp support
|
||||
- AAC encoding with libfaac
|
||||
- Sunplus JPEG codec (SP5X) support
|
||||
- use Lagrange multipler instead of QP for ratecontrol
|
||||
- use Lagrange multiplier instead of QP for ratecontrol
|
||||
- Theora/VP3 decoding support
|
||||
- XA and ADX ADPCM codecs
|
||||
- export MPEG-2 active display area / pan scan
|
||||
|
@ -1175,7 +1175,7 @@ lavd 54.4.100 / 54.0.0, lavfi 3.5.0
|
||||
* base -- is now stored in AVBufferRef
|
||||
* reference, type, buffer_hints -- are unnecessary in the new API
|
||||
* hwaccel_picture_private, owner, thread_opaque -- should not
|
||||
have been acessed from outside of lavc
|
||||
have been accessed from outside of lavc
|
||||
* qscale_table, qstride, qscale_type, mbskip_table, motion_val,
|
||||
mb_type, dct_coeff, ref_index -- mpegvideo-specific tables,
|
||||
which are not exported anymore.
|
||||
|
@ -25,9 +25,9 @@
|
||||
* libavcodec API use example.
|
||||
*
|
||||
* @example decoding_encoding.c
|
||||
* Note that libavcodec only handles codecs (mpeg, mpeg4, etc...),
|
||||
* not file formats (avi, vob, mp4, mov, mkv, mxf, flv, mpegts, mpegps, etc...). See library 'libavformat' for the
|
||||
* format handling
|
||||
* Note that libavcodec only handles codecs (MPEG, MPEG-4, etc...),
|
||||
* not file formats (AVI, VOB, MP4, MOV, MKV, MXF, FLV, MPEG-TS, MPEG-PS, etc...).
|
||||
* See library 'libavformat' for the format handling
|
||||
*/
|
||||
|
||||
#include <math.h>
|
||||
@ -253,7 +253,7 @@ static void audio_decode_example(const char *outfilename, const char *filename)
|
||||
|
||||
printf("Decode audio file %s to %s\n", filename, outfilename);
|
||||
|
||||
/* find the mpeg audio decoder */
|
||||
/* find the MPEG audio decoder */
|
||||
codec = avcodec_find_decoder(AV_CODEC_ID_MP2);
|
||||
if (!codec) {
|
||||
fprintf(stderr, "Codec not found\n");
|
||||
@ -356,7 +356,7 @@ static void video_encode_example(const char *filename, int codec_id)
|
||||
|
||||
printf("Encode video file %s\n", filename);
|
||||
|
||||
/* find the mpeg1 video encoder */
|
||||
/* find the video encoder */
|
||||
codec = avcodec_find_encoder(codec_id);
|
||||
if (!codec) {
|
||||
fprintf(stderr, "Codec not found\n");
|
||||
@ -475,7 +475,7 @@ static void video_encode_example(const char *filename, int codec_id)
|
||||
}
|
||||
}
|
||||
|
||||
/* add sequence end code to have a real mpeg file */
|
||||
/* add sequence end code to have a real MPEG file */
|
||||
fwrite(endcode, 1, sizeof(endcode), f);
|
||||
fclose(f);
|
||||
|
||||
@ -543,12 +543,12 @@ static void video_decode_example(const char *outfilename, const char *filename)
|
||||
|
||||
av_init_packet(&avpkt);
|
||||
|
||||
/* set end of buffer to 0 (this ensures that no overreading happens for damaged mpeg streams) */
|
||||
/* set end of buffer to 0 (this ensures that no overreading happens for damaged MPEG streams) */
|
||||
memset(inbuf + INBUF_SIZE, 0, AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
|
||||
printf("Decode video file %s to %s\n", filename, outfilename);
|
||||
|
||||
/* find the mpeg1 video decoder */
|
||||
/* find the MPEG-1 video decoder */
|
||||
codec = avcodec_find_decoder(AV_CODEC_ID_MPEG1VIDEO);
|
||||
if (!codec) {
|
||||
fprintf(stderr, "Codec not found\n");
|
||||
@ -613,9 +613,9 @@ static void video_decode_example(const char *outfilename, const char *filename)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/* some codecs, such as MPEG, transmit the I and P frame with a
|
||||
/* Some codecs, such as MPEG, transmit the I- and P-frame with a
|
||||
latency of one frame. You must do the following to have a
|
||||
chance to get the last frame of the video */
|
||||
chance to get the last frame of the video. */
|
||||
avpkt.data = NULL;
|
||||
avpkt.size = 0;
|
||||
decode_write_frame(outfilename, c, frame, &frame_count, &avpkt, 1);
|
||||
|
@ -161,7 +161,7 @@ static void add_stream(OutputStream *ost, AVFormatContext *oc,
|
||||
c->gop_size = 12; /* emit one intra frame every twelve frames at most */
|
||||
c->pix_fmt = STREAM_PIX_FMT;
|
||||
if (c->codec_id == AV_CODEC_ID_MPEG2VIDEO) {
|
||||
/* just for testing, we also add B frames */
|
||||
/* just for testing, we also add B-frames */
|
||||
c->max_b_frames = 2;
|
||||
}
|
||||
if (c->codec_id == AV_CODEC_ID_MPEG1VIDEO) {
|
||||
|
@ -720,7 +720,7 @@ For DXVA2, this option should contain the number of the display adapter to use.
|
||||
If this option is not specified, the default adapter is used.
|
||||
|
||||
@item qsv
|
||||
For QSV, this option corresponds to the valus of MFX_IMPL_* . Allowed values
|
||||
For QSV, this option corresponds to the values of MFX_IMPL_* . Allowed values
|
||||
are:
|
||||
@table @option
|
||||
@item auto
|
||||
|
@ -5667,7 +5667,7 @@ It accepts the following parameters:
|
||||
|
||||
@item limit
|
||||
Set higher black value threshold, which can be optionally specified
|
||||
from nothing (0) to everything (255 for 8bit based formats). An intensity
|
||||
from nothing (0) to everything (255 for 8-bit based formats). An intensity
|
||||
value greater to the set value is considered non-black. It defaults to 24.
|
||||
You can also specify a value between 0.0 and 1.0 which will be scaled depending
|
||||
on the bitdepth of the pixel format.
|
||||
@ -8305,7 +8305,7 @@ geq=lum=255*gauss((X/W-0.5)*3)*gauss((Y/H-0.5)*3)/gauss(0)/gauss(0),format=gray
|
||||
@section gradfun
|
||||
|
||||
Fix the banding artifacts that are sometimes introduced into nearly flat
|
||||
regions by truncation to 8bit color depth.
|
||||
regions by truncation to 8-bit color depth.
|
||||
Interpolate the gradients that should go where the bands are, and
|
||||
dither them.
|
||||
|
||||
@ -15588,7 +15588,7 @@ select=between(t\,10\,20)
|
||||
@end example
|
||||
|
||||
@item
|
||||
Select only I frames contained in the 10-20 time interval:
|
||||
Select only I-frames contained in the 10-20 time interval:
|
||||
@example
|
||||
select=between(t\,10\,20)*eq(pict_type\,I)
|
||||
@end example
|
||||
|
@ -408,7 +408,7 @@ with @option{--dry-run} first. And then inspecting the commits listed with
|
||||
@command{git log -p 1234567..987654}. The @command{git status} command
|
||||
may help in finding local changes that have been forgotten to be added.
|
||||
|
||||
Next let the code pass through a full run of our testsuite.
|
||||
Next let the code pass through a full run of our test suite.
|
||||
|
||||
@itemize
|
||||
@item @command{make distclean}
|
||||
@ -418,7 +418,7 @@ Next let the code pass through a full run of our testsuite.
|
||||
@end itemize
|
||||
|
||||
Make sure all your changes have been checked before pushing them, the
|
||||
testsuite only checks against regressions and that only to some extend. It does
|
||||
test suite only checks against regressions and that only to some extend. It does
|
||||
obviously not check newly added features/code to be working unless you have
|
||||
added a test for that (which is recommended).
|
||||
|
||||
|
@ -34,7 +34,7 @@ NUT has some variants signaled by using the flags field in its main header.
|
||||
|
||||
The BROADCAST variant provides a secondary time reference to facilitate
|
||||
detecting endpoint latency and network delays.
|
||||
It assumes all the endpoint clocks are syncronized.
|
||||
It assumes all the endpoint clocks are synchronized.
|
||||
To be used in real-time scenarios.
|
||||
|
||||
@section PIPE
|
||||
|
@ -7,7 +7,7 @@ If you plan to do non-x86 architecture specific optimizations (SIMD normally),
|
||||
then take a look in the x86/ directory, as most important functions are
|
||||
already optimized for MMX.
|
||||
|
||||
If you want to do x86 optimizations then you can either try to finetune the
|
||||
If you want to do x86 optimizations then you can either try to fine-tune the
|
||||
stuff in the x86 directory or find some other functions in the C source to
|
||||
optimize, but there aren't many left.
|
||||
|
||||
@ -163,7 +163,7 @@ general x86 registers (e.g. eax) as well as XMM registers. This last one is
|
||||
particularly important on Win64, where xmm6-15 are callee-save, and not
|
||||
restoring their contents leads to undefined results. In external asm (e.g.
|
||||
yasm), you do this by using:
|
||||
cglobal functon_name, num_args, num_regs, num_xmm_regs
|
||||
cglobal function_name, num_args, num_regs, num_xmm_regs
|
||||
In inline asm, you specify clobbered registers at the end of your asm:
|
||||
__asm__(".." ::: "%eax").
|
||||
If gcc is not set to support sse (-msse) it will not accept xmm registers
|
||||
|
@ -63,7 +63,7 @@ bash ./configure
|
||||
@section Darwin (Mac OS X, iPhone)
|
||||
|
||||
The toolchain provided with Xcode is sufficient to build the basic
|
||||
unacelerated code.
|
||||
unaccelerated code.
|
||||
|
||||
Mac OS X on PowerPC or ARM (iPhone) requires a preprocessor from
|
||||
@url{https://github.com/FFmpeg/gas-preprocessor} or
|
||||
@ -144,7 +144,7 @@ pacman -S make pkgconf diffutils
|
||||
pacman -S mingw-w64-x86_64-yasm mingw-w64-x86_64-gcc mingw-w64-x86_64-SDL
|
||||
@end example
|
||||
|
||||
To target 32bit replace the @code{x86_64} with @code{i686} in the command above.
|
||||
To target 32 bits replace @code{x86_64} with @code{i686} in the command above.
|
||||
|
||||
@section Microsoft Visual C++ or Intel C++ Compiler for Windows
|
||||
|
||||
|
@ -10,12 +10,12 @@ Current (simplified) Architecture:
|
||||
/ \
|
||||
special converter [Input to YUV converter]
|
||||
| |
|
||||
| (8bit YUV 4:4:4 / 4:2:2 / 4:2:0 / 4:0:0 )
|
||||
| (8-bit YUV 4:4:4 / 4:2:2 / 4:2:0 / 4:0:0 )
|
||||
| |
|
||||
| v
|
||||
| Horizontal scaler
|
||||
| |
|
||||
| (15bit YUV 4:4:4 / 4:2:2 / 4:2:0 / 4:1:1 / 4:0:0 )
|
||||
| (15-bit YUV 4:4:4 / 4:2:2 / 4:2:0 / 4:1:1 / 4:0:0 )
|
||||
| |
|
||||
| v
|
||||
| Vertical scaler and output converter
|
||||
|
2
ffmpeg.c
2
ffmpeg.c
@ -1922,7 +1922,7 @@ int guess_input_channel_layout(InputStream *ist)
|
||||
return 0;
|
||||
av_get_channel_layout_string(layout_name, sizeof(layout_name),
|
||||
dec->channels, dec->channel_layout);
|
||||
av_log(NULL, AV_LOG_WARNING, "Guessed Channel Layout for Input Stream "
|
||||
av_log(NULL, AV_LOG_WARNING, "Guessed Channel Layout for Input Stream "
|
||||
"#%d.%d : %s\n", ist->file_index, ist->st->index, layout_name);
|
||||
}
|
||||
return 1;
|
||||
|
2
ffplay.c
2
ffplay.c
@ -2745,7 +2745,7 @@ static int stream_component_open(VideoState *is, int stream_index)
|
||||
/* init averaging filter */
|
||||
is->audio_diff_avg_coef = exp(log(0.01) / AUDIO_DIFF_AVG_NB);
|
||||
is->audio_diff_avg_count = 0;
|
||||
/* since we do not have a precise anough audio fifo fullness,
|
||||
/* since we do not have a precise anough audio FIFO fullness,
|
||||
we correct audio sync only if larger than this threshold */
|
||||
is->audio_diff_threshold = (double)(is->audio_hw_buf_size) / is->audio_tgt.bytes_per_sec;
|
||||
|
||||
|
@ -142,7 +142,7 @@ function ff_mpadsp_apply_window_\type\()_neon, export=1
|
||||
sub x10, x10, #4<<2
|
||||
b.gt 1b
|
||||
|
||||
// comuting samples[16]
|
||||
// computing samples[16]
|
||||
add x6, x1, #32<<2
|
||||
ld1 {v0.2s}, [x6], x9
|
||||
ld1 {v1.2s}, [x0], x9
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Autodesk RLE Decoder
|
||||
* Copyright (c) 2005 The FFmpeg Project
|
||||
* Copyright (C) 2005 The FFmpeg project
|
||||
*
|
||||
* This file is part of FFmpeg.
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2001-2003 The FFmpeg Project
|
||||
* Copyright (c) 2001-2003 The FFmpeg project
|
||||
*
|
||||
* first version by Francois Revol (revol@free.fr)
|
||||
* fringe ADPCM codecs (e.g., DK3, DK4, Westwood)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2001-2003 The FFmpeg Project
|
||||
* Copyright (c) 2001-2003 The FFmpeg project
|
||||
*
|
||||
* This file is part of FFmpeg.
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2001-2003 The FFmpeg Project
|
||||
* Copyright (c) 2001-2003 The FFmpeg project
|
||||
*
|
||||
* This file is part of FFmpeg.
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2001-2003 The FFmpeg Project
|
||||
* Copyright (c) 2001-2003 The FFmpeg project
|
||||
*
|
||||
* This file is part of FFmpeg.
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2001-2003 The FFmpeg Project
|
||||
* Copyright (c) 2001-2003 The FFmpeg project
|
||||
*
|
||||
* first version by Francois Revol (revol@free.fr)
|
||||
* fringe ADPCM codecs (e.g., DK3, DK4, Westwood)
|
||||
|
@ -29,20 +29,20 @@
|
||||
* passed through the extradata[_size] fields. This atom is tacked onto
|
||||
* the end of an 'alac' stsd atom and has the following format:
|
||||
*
|
||||
* 32bit atom size
|
||||
* 32bit tag ("alac")
|
||||
* 32bit tag version (0)
|
||||
* 32bit samples per frame (used when not set explicitly in the frames)
|
||||
* 8bit compatible version (0)
|
||||
* 8bit sample size
|
||||
* 8bit history mult (40)
|
||||
* 8bit initial history (10)
|
||||
* 8bit rice param limit (14)
|
||||
* 8bit channels
|
||||
* 16bit maxRun (255)
|
||||
* 32bit max coded frame size (0 means unknown)
|
||||
* 32bit average bitrate (0 means unknown)
|
||||
* 32bit samplerate
|
||||
* 32 bits atom size
|
||||
* 32 bits tag ("alac")
|
||||
* 32 bits tag version (0)
|
||||
* 32 bits samples per frame (used when not set explicitly in the frames)
|
||||
* 8 bits compatible version (0)
|
||||
* 8 bits sample size
|
||||
* 8 bits history mult (40)
|
||||
* 8 bits initial history (10)
|
||||
* 8 bits rice param limit (14)
|
||||
* 8 bits channels
|
||||
* 16 bits maxRun (255)
|
||||
* 32 bits max coded frame size (0 means unknown)
|
||||
* 32 bits average bitrate (0 means unknown)
|
||||
* 32 bits samplerate
|
||||
*/
|
||||
|
||||
#include <inttypes.h>
|
||||
|
@ -547,13 +547,13 @@ static void decode_fixed_sparse(AMRFixed *fixed_sparse, const uint16_t *pulses,
|
||||
* @param p the context
|
||||
* @param subframe unpacked amr subframe
|
||||
* @param mode mode of the current frame
|
||||
* @param fixed_sparse sparse respresentation of the fixed vector
|
||||
* @param fixed_sparse sparse representation of the fixed vector
|
||||
*/
|
||||
static void pitch_sharpening(AMRContext *p, int subframe, enum Mode mode,
|
||||
AMRFixed *fixed_sparse)
|
||||
{
|
||||
// The spec suggests the current pitch gain is always used, but in other
|
||||
// modes the pitch and codebook gains are joinly quantized (sec 5.8.2)
|
||||
// modes the pitch and codebook gains are jointly quantized (sec 5.8.2)
|
||||
// so the codebook gain cannot depend on the quantized pitch gain.
|
||||
if (mode == MODE_12k2)
|
||||
p->beta = FFMIN(p->pitch_gain[4], 1.0);
|
||||
|
@ -38,7 +38,7 @@
|
||||
|
||||
#define MIN_ISF_SPACING (128.0 / 32768.0) ///< minimum isf gap
|
||||
#define PRED_FACTOR (1.0 / 3.0)
|
||||
#define MIN_ENERGY -14.0 ///< initial innnovation energy (dB)
|
||||
#define MIN_ENERGY -14.0 ///< initial innovation energy (dB)
|
||||
#define ENERGY_MEAN 30.0 ///< mean innovation energy (dB) in all modes
|
||||
#define PREEMPH_FAC 0.68 ///< factor used to de-emphasize synthesis
|
||||
|
||||
|
@ -206,7 +206,7 @@ static int execute_code(AVCodecContext * avctx, int c)
|
||||
s->y = s->nb_args > 0 ? av_clip((s->args[0] - 1)*s->font_height, 0, avctx->height - s->font_height) : 0;
|
||||
s->x = s->nb_args > 1 ? av_clip((s->args[1] - 1)*FONT_WIDTH, 0, avctx->width - FONT_WIDTH) : 0;
|
||||
break;
|
||||
case 'h': //set creen mode
|
||||
case 'h': //set screen mode
|
||||
case 'l': //reset screen mode
|
||||
if (s->nb_args < 2)
|
||||
s->args[0] = DEFAULT_SCREEN_MODE;
|
||||
|
@ -339,10 +339,10 @@ static inline void range_dec_normalize(APEContext *ctx)
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculate culmulative frequency for next symbol. Does NO update!
|
||||
* Calculate cumulative frequency for next symbol. Does NO update!
|
||||
* @param ctx decoder context
|
||||
* @param tot_f is the total frequency or (code_value)1<<shift
|
||||
* @return the culmulative frequency
|
||||
* @return the cumulative frequency
|
||||
*/
|
||||
static inline int range_decode_culfreq(APEContext *ctx, int tot_f)
|
||||
{
|
||||
|
@ -240,7 +240,7 @@ DAT3 .req v4
|
||||
DAT4 .req v5
|
||||
DAT5 .req v6
|
||||
DAT6 .req sl // use these rather than the otherwise unused
|
||||
DAT7 .req fp // ip and lr so that we can load them usinf LDRD
|
||||
DAT7 .req fp // ip and lr so that we can load them using LDRD
|
||||
|
||||
.macro output4words tail, head, r0, r1, r2, r3, r4, r5, r6, r7, pointer_dead=0
|
||||
.if \head
|
||||
|
@ -29,7 +29,7 @@ void ff_dct_unquantize_h263_armv5te(int16_t *block, int qmul, int qadd, int coun
|
||||
|
||||
#ifdef ENABLE_ARM_TESTS
|
||||
/**
|
||||
* h263 dequantizer supplementary function, it is performance critical and needs to
|
||||
* H.263 dequantizer supplementary function, it is performance critical and needs to
|
||||
* have optimized implementations for each architecture. Is also used as a reference
|
||||
* implementation in regression tests
|
||||
*/
|
||||
|
@ -64,7 +64,7 @@ function ff_simple_idct_arm, export=1
|
||||
|
||||
|
||||
__row_loop:
|
||||
@@ read the row and check if it is null, almost null, or not, according to strongarm specs, it is not necessary to optimize ldr accesses (i.e. split 32bits in 2 16bits words), at least it gives more usable registers :)
|
||||
@@ read the row and check if it is null, almost null, or not, according to strongarm specs, it is not necessary to optimize ldr accesses (i.e. split 32 bits in two 16-bit words), at least it gives more usable registers :)
|
||||
ldr r1, [r14, #0] @ R1=(int32)(R12)[0]=ROWr32[0] (relative row cast to a 32b pointer)
|
||||
ldr r2, [r14, #4] @ R2=(int32)(R12)[1]=ROWr32[1]
|
||||
ldr r3, [r14, #8] @ R3=ROWr32[2]
|
||||
@ -234,8 +234,8 @@ __end_a_evaluation:
|
||||
@@ row[7] = (a0 - b0) >> ROW_SHIFT;
|
||||
add r8, r6, r0 @ R8=a0+b0
|
||||
add r9, r2, r1 @ R9=a1+b1
|
||||
@@ put 2 16 bits half-words in a 32bits word
|
||||
@@ ROWr32[0]=ROWr16[0] | (ROWr16[1]<<16) (only Little Endian compliant then!!!)
|
||||
@@ put two 16-bit half-words in a 32-bit word
|
||||
@@ ROWr32[0]=ROWr16[0] | (ROWr16[1]<<16) (only little-endian compliant then!!!)
|
||||
ldr r10, =MASK_MSHW @ R10=0xFFFF0000
|
||||
and r9, r10, r9, lsl #ROW_SHIFT2MSHW @ R9=0xFFFF0000 & ((a1+b1)<<5)
|
||||
mvn r11, r10 @ R11= NOT R10= 0x0000FFFF
|
||||
|
@ -322,7 +322,7 @@ endfunc
|
||||
|
||||
vmov.i16 q12, #3
|
||||
vsubl.s8 q10, d8, d6 @ QS0 - PS0
|
||||
vsubl.s8 q11, d9, d7 @ (widened to 16bit)
|
||||
vsubl.s8 q11, d9, d7 @ (widened to 16 bits)
|
||||
veor q2, q2, q13 @ PS1 = P1 ^ 0x80
|
||||
veor q5, q5, q13 @ QS1 = Q1 ^ 0x80
|
||||
vmul.i16 q10, q10, q12 @ w = 3 * (QS0 - PS0)
|
||||
|
@ -880,7 +880,7 @@ typedef struct RcOverride{
|
||||
* Use only bitexact stuff (except (I)DCT).
|
||||
*/
|
||||
#define AV_CODEC_FLAG_BITEXACT (1 << 23)
|
||||
/* Fx : Flag for h263+ extra options */
|
||||
/* Fx : Flag for H.263+ extra options */
|
||||
/**
|
||||
* H.263 advanced intra coding / MPEG-4 AC prediction
|
||||
*/
|
||||
@ -997,7 +997,7 @@ typedef struct RcOverride{
|
||||
* are connected to a parser to split what they return into proper frames.
|
||||
* This flag is reserved to the very rare category of codecs which have a
|
||||
* bitstream that cannot be split into frames without timeconsuming
|
||||
* operations like full decoding. Demuxers carring such bitstreams thus
|
||||
* operations like full decoding. Demuxers carrying such bitstreams thus
|
||||
* may return multiple frames in a packet. This has many disadvantages like
|
||||
* prohibiting stream copy in many cases thus it should only be considered
|
||||
* as a last resort.
|
||||
@ -1177,7 +1177,7 @@ typedef struct RcOverride{
|
||||
* are connected to a parser to split what they return into proper frames.
|
||||
* This flag is reserved to the very rare category of codecs which have a
|
||||
* bitstream that cannot be split into frames without timeconsuming
|
||||
* operations like full decoding. Demuxers carring such bitstreams thus
|
||||
* operations like full decoding. Demuxers carrying such bitstreams thus
|
||||
* may return multiple frames in a packet. This has many disadvantages like
|
||||
* prohibiting stream copy in many cases thus it should only be considered
|
||||
* as a last resort.
|
||||
@ -1257,7 +1257,7 @@ typedef struct RcOverride{
|
||||
#define MB_TYPE_L0L1 (MB_TYPE_L0 | MB_TYPE_L1)
|
||||
#define MB_TYPE_QUANT 0x00010000
|
||||
#define MB_TYPE_CBP 0x00020000
|
||||
//Note bits 24-31 are reserved for codec specific use (h264 ref0, mpeg1 0mv, ...)
|
||||
// Note bits 24-31 are reserved for codec specific use (H.264 ref0, MPEG-1 0mv, ...)
|
||||
#endif
|
||||
|
||||
/**
|
||||
@ -1751,9 +1751,9 @@ typedef struct AVCodecContext {
|
||||
|
||||
/**
|
||||
* some codecs need / can use extradata like Huffman tables.
|
||||
* mjpeg: Huffman tables
|
||||
* MJPEG: Huffman tables
|
||||
* rv10: additional flags
|
||||
* mpeg4: global headers (they can be in the bitstream or here)
|
||||
* MPEG-4: global headers (they can be in the bitstream or here)
|
||||
* The allocated memory should be AV_INPUT_BUFFER_PADDING_SIZE bytes larger
|
||||
* than extradata_size to avoid problems if it is read with the bitstream reader.
|
||||
* The bytewise contents of extradata must not depend on the architecture or CPU endianness.
|
||||
@ -1823,7 +1823,7 @@ typedef struct AVCodecContext {
|
||||
* picture width / height.
|
||||
*
|
||||
* @note Those fields may not match the values of the last
|
||||
* AVFrame outputted by avcodec_decode_video2 due frame
|
||||
* AVFrame output by avcodec_decode_video2 due frame
|
||||
* reordering.
|
||||
*
|
||||
* - encoding: MUST be set by user.
|
||||
@ -1839,7 +1839,7 @@ typedef struct AVCodecContext {
|
||||
* the decoded frame is cropped before being output or lowres is enabled.
|
||||
*
|
||||
* @note Those field may not match the value of the last
|
||||
* AVFrame outputted by avcodec_receive_frame() due frame
|
||||
* AVFrame output by avcodec_receive_frame() due frame
|
||||
* reordering.
|
||||
*
|
||||
* - encoding: unused
|
||||
@ -1866,7 +1866,7 @@ typedef struct AVCodecContext {
|
||||
* May be overridden by the decoder if it knows better.
|
||||
*
|
||||
* @note This field may not match the value of the last
|
||||
* AVFrame outputted by avcodec_receive_frame() due frame
|
||||
* AVFrame output by avcodec_receive_frame() due frame
|
||||
* reordering.
|
||||
*
|
||||
* - encoding: Set by user.
|
||||
@ -1976,8 +1976,8 @@ typedef struct AVCodecContext {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* qscale factor between P and I-frames
|
||||
* If > 0 then the last p frame quantizer will be used (q= lastp_q*factor+offset).
|
||||
* qscale factor between P- and I-frames
|
||||
* If > 0 then the last P-frame quantizer will be used (q = lastp_q * factor + offset).
|
||||
* If < 0 then normal ratecontrol will be done (q= -normal_q*factor+offset).
|
||||
* - encoding: Set by user.
|
||||
* - decoding: unused
|
||||
@ -2189,7 +2189,7 @@ typedef struct AVCodecContext {
|
||||
*/
|
||||
int slice_flags;
|
||||
#define SLICE_FLAG_CODED_ORDER 0x0001 ///< draw_horiz_band() is called in coded order instead of display
|
||||
#define SLICE_FLAG_ALLOW_FIELD 0x0002 ///< allow draw_horiz_band() with field slices (MPEG2 field pics)
|
||||
#define SLICE_FLAG_ALLOW_FIELD 0x0002 ///< allow draw_horiz_band() with field slices (MPEG-2 field pics)
|
||||
#define SLICE_FLAG_ALLOW_PLANE 0x0004 ///< allow draw_horiz_band() with 1 component at a time (SVQ1)
|
||||
|
||||
#if FF_API_XVMC
|
||||
@ -2280,14 +2280,14 @@ typedef struct AVCodecContext {
|
||||
#endif
|
||||
|
||||
/**
|
||||
* minimum MB lagrange multipler
|
||||
* minimum MB Lagrange multiplier
|
||||
* - encoding: Set by user.
|
||||
* - decoding: unused
|
||||
*/
|
||||
int mb_lmin;
|
||||
|
||||
/**
|
||||
* maximum MB lagrange multipler
|
||||
* maximum MB Lagrange multiplier
|
||||
* - encoding: Set by user.
|
||||
* - decoding: unused
|
||||
*/
|
||||
@ -2507,7 +2507,7 @@ typedef struct AVCodecContext {
|
||||
* to all data planes. data[] must hold as many pointers as it can.
|
||||
* extended_data must be allocated with av_malloc() and will be freed in
|
||||
* av_frame_unref().
|
||||
* * otherwise exended_data must point to data
|
||||
* * otherwise extended_data must point to data
|
||||
* - buf[] must contain one or more pointers to AVBufferRef structures. Each of
|
||||
* the frame's data and extended_data pointers must be contained in these. That
|
||||
* is, one AVBufferRef for each allocated chunk of memory, not necessarily one
|
||||
@ -2851,7 +2851,7 @@ typedef struct AVCodecContext {
|
||||
#define FF_BUG_TRUNCATED 16384
|
||||
|
||||
/**
|
||||
* strictly follow the standard (MPEG4, ...).
|
||||
* strictly follow the standard (MPEG-4, ...).
|
||||
* - encoding: Set by user.
|
||||
* - decoding: Set by user.
|
||||
* Setting this to STRICT or higher means the encoder and decoder will
|
||||
@ -2922,9 +2922,9 @@ typedef struct AVCodecContext {
|
||||
* - decoding: Set by user.
|
||||
*/
|
||||
int debug_mv;
|
||||
#define FF_DEBUG_VIS_MV_P_FOR 0x00000001 //visualize forward predicted MVs of P frames
|
||||
#define FF_DEBUG_VIS_MV_B_FOR 0x00000002 //visualize forward predicted MVs of B frames
|
||||
#define FF_DEBUG_VIS_MV_B_BACK 0x00000004 //visualize backward predicted MVs of B frames
|
||||
#define FF_DEBUG_VIS_MV_P_FOR 0x00000001 // visualize forward predicted MVs of P-frames
|
||||
#define FF_DEBUG_VIS_MV_B_FOR 0x00000002 // visualize forward predicted MVs of B-frames
|
||||
#define FF_DEBUG_VIS_MV_B_BACK 0x00000004 // visualize backward predicted MVs of B-frames
|
||||
#endif
|
||||
|
||||
/**
|
||||
@ -2952,7 +2952,7 @@ typedef struct AVCodecContext {
|
||||
|
||||
|
||||
/**
|
||||
* opaque 64bit number (generally a PTS) that will be reordered and
|
||||
* opaque 64-bit number (generally a PTS) that will be reordered and
|
||||
* output in AVFrame.reordered_opaque
|
||||
* - encoding: unused
|
||||
* - decoding: Set by user.
|
||||
@ -5950,7 +5950,7 @@ unsigned int av_xiphlacing(unsigned char *s, unsigned int v);
|
||||
* a pointer to an AVClass struct
|
||||
* @param[in] feature string containing the name of the missing feature
|
||||
* @param[in] want_sample indicates if samples are wanted which exhibit this feature.
|
||||
* If want_sample is non-zero, additional verbage will be added to the log
|
||||
* If want_sample is non-zero, additional verbiage will be added to the log
|
||||
* message which tells the user how to report samples to the development
|
||||
* mailing list.
|
||||
* @deprecated Use avpriv_report_missing_feature() instead.
|
||||
|
@ -1240,7 +1240,7 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPac
|
||||
}
|
||||
|
||||
/**
|
||||
* Caclulate quantization tables for version b
|
||||
* Calculate quantization tables for version b
|
||||
*/
|
||||
static av_cold void binkb_calc_quant(void)
|
||||
{
|
||||
|
@ -150,7 +150,7 @@ static int compare_vlcspec(const void *a, const void *b)
|
||||
/**
|
||||
* Build VLC decoding tables suitable for use with get_vlc().
|
||||
*
|
||||
* @param vlc the context to be initted
|
||||
* @param vlc the context to be initialized
|
||||
*
|
||||
* @param table_nb_bits max length of vlc codes to store directly in this table
|
||||
* (Longer codes are delegated to subtables.)
|
||||
@ -248,7 +248,7 @@ static int build_table(VLC *vlc, int table_nb_bits, int nb_codes,
|
||||
|
||||
/* Build VLC decoding tables suitable for use with get_vlc().
|
||||
|
||||
'nb_bits' set the decoding table size (2^nb_bits) entries. The
|
||||
'nb_bits' sets the decoding table size (2^nb_bits) entries. The
|
||||
bigger it is, the faster is the decoding. But it should not be too
|
||||
big to save memory and L1 cache. '9' is a good compromise.
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include "avcodec.h"
|
||||
|
||||
/**
|
||||
* Called by the biststream filters to get the next packet for filtering.
|
||||
* Called by the bitstream filters to get the next packet for filtering.
|
||||
* The filter is responsible for either freeing the packet or passing it to the
|
||||
* caller.
|
||||
*/
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Cinepak Video Decoder
|
||||
* Copyright (c) 2003 The FFmpeg Project
|
||||
* Copyright (C) 2003 The FFmpeg project
|
||||
*
|
||||
* This file is part of FFmpeg.
|
||||
*
|
||||
|
@ -141,7 +141,7 @@ typedef struct cook {
|
||||
VLC envelope_quant_index[13];
|
||||
VLC sqvh[7]; // scalar quantization
|
||||
|
||||
/* generatable tables and related variables */
|
||||
/* generate tables and related variables */
|
||||
int gain_size_factor;
|
||||
float gain_table[23];
|
||||
|
||||
@ -1187,7 +1187,7 @@ static av_cold int cook_decode_init(AVCodecContext *avctx)
|
||||
/* Initialize variable relations */
|
||||
q->subpacket[s].numvector_size = (1 << q->subpacket[s].log2_numvector_size);
|
||||
|
||||
/* Try to catch some obviously faulty streams, othervise it might be exploitable */
|
||||
/* Try to catch some obviously faulty streams, otherwise it might be exploitable */
|
||||
if (q->subpacket[s].total_subbands > 53) {
|
||||
avpriv_request_sample(avctx, "total_subbands > 53");
|
||||
return AVERROR_PATCHWELCOME;
|
||||
@ -1260,7 +1260,7 @@ static av_cold int cook_decode_init(AVCodecContext *avctx)
|
||||
q->saturate_output = saturate_output_float;
|
||||
}
|
||||
|
||||
/* Try to catch some obviously faulty streams, othervise it might be exploitable */
|
||||
/* Try to catch some obviously faulty streams, otherwise it might be exploitable */
|
||||
if (q->samples_per_channel != 256 && q->samples_per_channel != 512 &&
|
||||
q->samples_per_channel != 1024) {
|
||||
avpriv_request_sample(avctx, "samples_per_channel = %d",
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Cook AKA RealAudio G2 compatible decoderdata
|
||||
* Cook AKA RealAudio G2 compatible decoder data
|
||||
*/
|
||||
|
||||
#ifndef AVCODEC_COOKDATA_H
|
||||
|
@ -4,7 +4,7 @@
|
||||
* based on "Creative YUV (CYUV) stream format for AVI":
|
||||
* http://www.csse.monash.edu.au/~timf/videocodec/cyuv.txt
|
||||
*
|
||||
* Copyright (c) 2003 The FFmpeg Project
|
||||
* Copyright (C) 2003 The FFmpeg project
|
||||
*
|
||||
* This file is part of FFmpeg.
|
||||
*
|
||||
|
@ -52,7 +52,7 @@ const uint8_t ff_dca_dmix_primary_nch[8] = {
|
||||
|
||||
/* ADPCM data */
|
||||
|
||||
/* 16bits signed fractional Q13 binary codes */
|
||||
/* 16 bits signed fractional Q13 binary codes */
|
||||
const int16_t ff_dca_adpcm_vb[4096][4] = {
|
||||
{ 9928, -2618, -1093, -1263 },
|
||||
{ 11077, -2876, -1747, -308 },
|
||||
@ -4215,7 +4215,7 @@ const uint32_t ff_dca_quant_levels[32] = {
|
||||
2097152, 4194304, 8388608, 0, 0, 0, 0, 0
|
||||
};
|
||||
|
||||
/* 20bits unsigned fractional binary codes */
|
||||
/* 20 bits unsigned fractional binary codes */
|
||||
const uint32_t ff_dca_lossy_quant[32] = {
|
||||
0, 6710886, 4194304, 3355443, 2474639, 2097152, 1761608, 1426063,
|
||||
796918, 461373, 251658, 146801, 79692, 46137, 27263, 16777,
|
||||
@ -4223,7 +4223,7 @@ const uint32_t ff_dca_lossy_quant[32] = {
|
||||
84, 42, 21, 0, 0, 0, 0, 0
|
||||
};
|
||||
|
||||
/* 20bits unsigned fractional binary codes */
|
||||
/* 20 bits unsigned fractional binary codes */
|
||||
const uint32_t ff_dca_lossless_quant[32] = {
|
||||
0, 4194304, 2097152, 1384120, 1048576, 696254, 524288, 348127,
|
||||
262144, 131072, 65431, 33026, 16450, 8208, 4100, 2049,
|
||||
|
@ -442,7 +442,7 @@ static void help(void)
|
||||
printf("dct-test [-i] [<test-number>] [<bits>]\n"
|
||||
"test-number 0 -> test with random matrixes\n"
|
||||
" 1 -> test with random sparse matrixes\n"
|
||||
" 2 -> do 3. test from mpeg4 std\n"
|
||||
" 2 -> do 3. test from MPEG-4 std\n"
|
||||
"bits Number of time domain bits to use, 8 is default\n"
|
||||
"-i test IDCT implementations\n"
|
||||
"-4 test IDCT248 implementations\n"
|
||||
|
@ -36,8 +36,7 @@
|
||||
#include "pixblockdsp.h"
|
||||
#include "dnxhdenc.h"
|
||||
|
||||
|
||||
// The largest value that will not lead to overflow for 10bit samples.
|
||||
// The largest value that will not lead to overflow for 10-bit samples.
|
||||
#define DNX10BIT_QMAT_SHIFT 18
|
||||
#define RC_VARIANCE 1 // use variance or ssd for fast rc
|
||||
#define LAMBDA_FRAC_BITS 10
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Assorted DPCM codecs
|
||||
* Copyright (c) 2003 The FFmpeg Project
|
||||
* Copyright (c) 2003 The FFmpeg project
|
||||
*
|
||||
* This file is part of FFmpeg.
|
||||
*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* DXVA2 H264 HW acceleration.
|
||||
* DXVA2 H.264 HW acceleration.
|
||||
*
|
||||
* copyright (c) 2009 Laurent Aimar
|
||||
*
|
||||
|
@ -41,8 +41,8 @@
|
||||
#include "mpeg12vlc.h"
|
||||
|
||||
#define EA_PREAMBLE_SIZE 8
|
||||
#define MADk_TAG MKTAG('M', 'A', 'D', 'k') /* MAD i-frame */
|
||||
#define MADm_TAG MKTAG('M', 'A', 'D', 'm') /* MAD p-frame */
|
||||
#define MADk_TAG MKTAG('M', 'A', 'D', 'k') /* MAD I-frame */
|
||||
#define MADm_TAG MKTAG('M', 'A', 'D', 'm') /* MAD P-frame */
|
||||
#define MADe_TAG MKTAG('M', 'A', 'D', 'e') /* MAD lqp-frame */
|
||||
|
||||
typedef struct MadContext {
|
||||
|
@ -31,7 +31,7 @@
|
||||
#include "elbg.h"
|
||||
#include "avcodec.h"
|
||||
|
||||
#define DELTA_ERR_MAX 0.1 ///< Precision of the ELBG algorithm (as percentual error)
|
||||
#define DELTA_ERR_MAX 0.1 ///< Precision of the ELBG algorithm (as percentage error)
|
||||
|
||||
/**
|
||||
* In the ELBG jargon, a cell is the set of points that are closest to a
|
||||
@ -199,7 +199,7 @@ static void get_new_centroids(elbg_data *elbg, int huc, int *newcentroid_i,
|
||||
|
||||
/**
|
||||
* Add the points in the low utility cell to its closest cell. Split the high
|
||||
* utility cell, putting the separate points in the (now empty) low utility
|
||||
* utility cell, putting the separated points in the (now empty) low utility
|
||||
* cell.
|
||||
*
|
||||
* @param elbg Internal elbg data
|
||||
|
@ -1136,7 +1136,7 @@ void ff_er_frame_end(ERContext *s)
|
||||
s->mv[0][0][1] = s->cur_pic.motion_val[dir][mb_x * 2 + mb_y * 2 * s->b8_stride][1];
|
||||
}
|
||||
|
||||
s->decode_mb(s->opaque, 0 /* FIXME h264 partitioned slices need this set */,
|
||||
s->decode_mb(s->opaque, 0 /* FIXME H.264 partitioned slices need this set */,
|
||||
mv_dir, mv_type, &s->mv, mb_x, mb_y, 0, 0);
|
||||
}
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ typedef struct ERPicture {
|
||||
AVFrame *f;
|
||||
ThreadFrame *tf;
|
||||
|
||||
// it's the caller's responsibility to allocate these buffers
|
||||
// it is the caller's responsibility to allocate these buffers
|
||||
int16_t (*motion_val[2])[2];
|
||||
int8_t *ref_index[2];
|
||||
|
||||
|
@ -191,13 +191,13 @@ static union av_intfloat32 exr_half2float(uint16_t hf)
|
||||
mantissa <<= 1;
|
||||
exp -= (1 << 23);
|
||||
}
|
||||
// clamp the mantissa to 10-bits
|
||||
// clamp the mantissa to 10 bits
|
||||
mantissa &= ((1 << 10) - 1);
|
||||
// shift left to generate single-precision mantissa of 23-bits
|
||||
// shift left to generate single-precision mantissa of 23 bits
|
||||
mantissa <<= 13;
|
||||
}
|
||||
} else {
|
||||
// shift left to generate single-precision mantissa of 23-bits
|
||||
// shift left to generate single-precision mantissa of 23 bits
|
||||
mantissa <<= 13;
|
||||
// generate single precision biased exponent value
|
||||
exp = (exp << 13) + HALF_FLOAT_MIN_BIASED_EXP_AS_SINGLE_FP_EXP;
|
||||
@ -1706,7 +1706,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
|
||||
}
|
||||
}
|
||||
|
||||
// allocate thread data, used for non EXR_RAW compreesion types
|
||||
// allocate thread data, used for non EXR_RAW compression types
|
||||
s->thread_data = av_mallocz_array(avctx->thread_count, sizeof(EXRThreadData));
|
||||
if (!s->thread_data)
|
||||
return AVERROR_INVALIDDATA;
|
||||
@ -1718,7 +1718,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
|
||||
static int decode_init_thread_copy(AVCodecContext *avctx)
|
||||
{ EXRContext *s = avctx->priv_data;
|
||||
|
||||
// allocate thread data, used for non EXR_RAW compreesion types
|
||||
// allocate thread data, used for non EXR_RAW compression types
|
||||
s->thread_data = av_mallocz_array(avctx->thread_count, sizeof(EXRThreadData));
|
||||
if (!s->thread_data)
|
||||
return AVERROR_INVALIDDATA;
|
||||
|
@ -31,7 +31,7 @@
|
||||
#include "tiff.h"
|
||||
|
||||
/**
|
||||
* initialize upacker code
|
||||
* initialize unpacker code
|
||||
*/
|
||||
void ff_ccitt_unpack_init(void);
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* FLI/FLC Animation Video Decoder
|
||||
* Copyright (c) 2003, 2004 The FFmpeg Project
|
||||
* Copyright (C) 2003, 2004 The FFmpeg project
|
||||
*
|
||||
* This file is part of FFmpeg.
|
||||
*
|
||||
@ -133,7 +133,7 @@ static av_cold int flic_decode_init(AVCodecContext *avctx)
|
||||
case 8 : avctx->pix_fmt = AV_PIX_FMT_PAL8; break;
|
||||
case 15 : avctx->pix_fmt = AV_PIX_FMT_RGB555; break;
|
||||
case 16 : avctx->pix_fmt = AV_PIX_FMT_RGB565; break;
|
||||
case 24 : avctx->pix_fmt = AV_PIX_FMT_BGR24; /* Supposedly BGR, but havent any files to test with */
|
||||
case 24 : avctx->pix_fmt = AV_PIX_FMT_BGR24; /* Supposedly BGR, but no files to test with */
|
||||
avpriv_request_sample(avctx, "24Bpp FLC/FLX");
|
||||
return AVERROR_PATCHWELCOME;
|
||||
default :
|
||||
@ -793,7 +793,7 @@ static int flic_decode_frame(AVCodecContext *avctx,
|
||||
|
||||
/* Should not get here, ever as the pix_fmt is processed */
|
||||
/* in flic_decode_init and the above if should deal with */
|
||||
/* the finite set of possibilites allowable by here. */
|
||||
/* the finite set of possibilities allowable by here. */
|
||||
/* But in case we do, just error out. */
|
||||
av_log(avctx, AV_LOG_ERROR, "Unknown FLC format, my science cannot explain how this happened.\n");
|
||||
return AVERROR_BUG;
|
||||
|
@ -31,7 +31,7 @@ void ff_flv_encode_picture_header(MpegEncContext *s, int picture_number)
|
||||
avpriv_align_put_bits(&s->pb);
|
||||
|
||||
put_bits(&s->pb, 17, 1);
|
||||
/* 0: h263 escape codes 1: 11-bit escape codes */
|
||||
/* 0: H.263 escape codes 1: 11-bit escape codes */
|
||||
put_bits(&s->pb, 5, (s->h263_flv - 1));
|
||||
put_bits(&s->pb, 8,
|
||||
(((int64_t) s->picture_number * 30 * s->avctx->time_base.num) / // FIXME use timestamp
|
||||
|
@ -466,7 +466,7 @@ static int comp_interp_index(G723_1_Context *p, int pitch_lag,
|
||||
}
|
||||
|
||||
/**
|
||||
* Peform residual interpolation based on frame classification.
|
||||
* Perform residual interpolation based on frame classification.
|
||||
*
|
||||
* @param buf decoded excitation vector
|
||||
* @param out output vector
|
||||
@ -914,7 +914,7 @@ static int g723_1_decode_frame(AVCodecContext *avctx, void *data,
|
||||
p->interp_index = comp_interp_index(p, p->pitch_lag[1],
|
||||
&p->sid_gain, &p->cur_gain);
|
||||
|
||||
/* Peform pitch postfiltering */
|
||||
/* Perform pitch postfiltering */
|
||||
if (p->postfilter) {
|
||||
i = PITCH_MAX;
|
||||
for (j = 0; j < SUBFRAMES; i += SUBFRAME_LEN, j++)
|
||||
|
@ -31,15 +31,15 @@
|
||||
#include "put_bits.h"
|
||||
|
||||
/**
|
||||
* G.726 11bit float.
|
||||
* G.726 Standard uses rather odd 11bit floating point arithmetic for
|
||||
* G.726 11-bit float.
|
||||
* G.726 Standard uses rather odd 11-bit floating point arithmetic for
|
||||
* numerous occasions. It's a mystery to me why they did it this way
|
||||
* instead of simply using 32bit integer arithmetic.
|
||||
* instead of simply using 32-bit integer arithmetic.
|
||||
*/
|
||||
typedef struct Float11 {
|
||||
uint8_t sign; /**< 1bit sign */
|
||||
uint8_t exp; /**< 4bit exponent */
|
||||
uint8_t mant; /**< 6bit mantissa */
|
||||
uint8_t sign; /**< 1 bit sign */
|
||||
uint8_t exp; /**< 4 bits exponent */
|
||||
uint8_t mant; /**< 6 bits mantissa */
|
||||
} Float11;
|
||||
|
||||
static inline Float11* i2f(int i, Float11* f)
|
||||
@ -98,7 +98,7 @@ typedef struct G726Context {
|
||||
int little_endian; /**< little-endian bitstream as used in aiff and Sun AU */
|
||||
} G726Context;
|
||||
|
||||
static const int quant_tbl16[] = /**< 16kbit/s 2bits per sample */
|
||||
static const int quant_tbl16[] = /**< 16kbit/s 2 bits per sample */
|
||||
{ 260, INT_MAX };
|
||||
static const int16_t iquant_tbl16[] =
|
||||
{ 116, 365, 365, 116 };
|
||||
@ -107,7 +107,7 @@ static const int16_t W_tbl16[] =
|
||||
static const uint8_t F_tbl16[] =
|
||||
{ 0, 7, 7, 0 };
|
||||
|
||||
static const int quant_tbl24[] = /**< 24kbit/s 3bits per sample */
|
||||
static const int quant_tbl24[] = /**< 24kbit/s 3 bits per sample */
|
||||
{ 7, 217, 330, INT_MAX };
|
||||
static const int16_t iquant_tbl24[] =
|
||||
{ INT16_MIN, 135, 273, 373, 373, 273, 135, INT16_MIN };
|
||||
@ -116,7 +116,7 @@ static const int16_t W_tbl24[] =
|
||||
static const uint8_t F_tbl24[] =
|
||||
{ 0, 1, 2, 7, 7, 2, 1, 0 };
|
||||
|
||||
static const int quant_tbl32[] = /**< 32kbit/s 4bits per sample */
|
||||
static const int quant_tbl32[] = /**< 32kbit/s 4 bits per sample */
|
||||
{ -125, 79, 177, 245, 299, 348, 399, INT_MAX };
|
||||
static const int16_t iquant_tbl32[] =
|
||||
{ INT16_MIN, 4, 135, 213, 273, 323, 373, 425,
|
||||
@ -127,7 +127,7 @@ static const int16_t W_tbl32[] =
|
||||
static const uint8_t F_tbl32[] =
|
||||
{ 0, 0, 0, 1, 1, 1, 3, 7, 7, 3, 1, 1, 1, 0, 0, 0 };
|
||||
|
||||
static const int quant_tbl40[] = /**< 40kbit/s 5bits per sample */
|
||||
static const int quant_tbl40[] = /**< 40kbit/s 5 bits per sample */
|
||||
{ -122, -16, 67, 138, 197, 249, 297, 338,
|
||||
377, 412, 444, 474, 501, 527, 552, INT_MAX };
|
||||
static const int16_t iquant_tbl40[] =
|
||||
@ -152,7 +152,7 @@ static const G726Tables G726Tables_pool[] =
|
||||
|
||||
|
||||
/**
|
||||
* Para 4.2.2 page 18: Adaptive quantizer.
|
||||
* Paragraph 4.2.2 page 18: Adaptive quantizer.
|
||||
*/
|
||||
static inline uint8_t quant(G726Context* c, int d)
|
||||
{
|
||||
@ -178,14 +178,14 @@ static inline uint8_t quant(G726Context* c, int d)
|
||||
}
|
||||
|
||||
/**
|
||||
* Para 4.2.3 page 22: Inverse adaptive quantizer.
|
||||
* Paragraph 4.2.3 page 22: Inverse adaptive quantizer.
|
||||
*/
|
||||
static inline int16_t inverse_quant(G726Context* c, int i)
|
||||
{
|
||||
int dql, dex, dqt;
|
||||
|
||||
dql = c->tbls.iquant[i] + (c->y >> 2);
|
||||
dex = (dql>>7) & 0xf; /* 4bit exponent */
|
||||
dex = (dql>>7) & 0xf; /* 4-bit exponent */
|
||||
dqt = (1<<7) + (dql & 0x7f); /* log2 -> linear */
|
||||
return (dql < 0) ? 0 : ((dqt<<dex) >> 7);
|
||||
}
|
||||
|
@ -91,7 +91,7 @@ typedef struct RL_VLC_ELEM {
|
||||
*
|
||||
* GET_CACHE(name, gb)
|
||||
* Will output the contents of the internal cache,
|
||||
* next bit is MSB of 32 or 64 bit (FIXME 64bit).
|
||||
* next bit is MSB of 32 or 64 bits (FIXME 64 bits).
|
||||
*
|
||||
* SHOW_UBITS(name, gb, num)
|
||||
* Will return the next num bits.
|
||||
@ -224,7 +224,7 @@ static inline void skip_bits_long(GetBitContext *s, int n)
|
||||
}
|
||||
|
||||
/**
|
||||
* read mpeg1 dc style vlc (sign bit + mantissa with no MSB).
|
||||
* Read MPEG-1 dc-style VLC (sign bit + mantissa with no MSB).
|
||||
* if MSB not set it is negative
|
||||
* @param n length in bits
|
||||
*/
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* H261 common code
|
||||
* H.261 common code
|
||||
* Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
|
||||
* Copyright (c) 2004 Maarten Daniels
|
||||
*
|
||||
@ -22,7 +22,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* h261codec.
|
||||
* H.261 codec
|
||||
*/
|
||||
|
||||
#include "avcodec.h"
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* H261 decoder
|
||||
* H.261 codec
|
||||
* Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
|
||||
* Copyright (c) 2004 Maarten Daniels
|
||||
*
|
||||
@ -22,7 +22,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* h261codec.
|
||||
* H.261 codec.
|
||||
*/
|
||||
|
||||
#ifndef AVCODEC_H261_H
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* H261 parser
|
||||
* H.261 parser
|
||||
* Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
|
||||
* Copyright (c) 2004 Maarten Daniels
|
||||
*
|
||||
@ -22,7 +22,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* h261codec.
|
||||
* H.261 parser
|
||||
*/
|
||||
|
||||
#include "parser.h"
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* H261 decoder
|
||||
* H.261 decoder
|
||||
* Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
|
||||
* Copyright (c) 2004 Maarten Daniels
|
||||
*
|
||||
@ -601,7 +601,7 @@ retry:
|
||||
init_get_bits(&s->gb, buf, buf_size * 8);
|
||||
|
||||
if (!s->context_initialized)
|
||||
// we need the IDCT permutaton for reading a custom matrix
|
||||
// we need the IDCT permutation for reading a custom matrix
|
||||
ff_mpv_idct_init(s);
|
||||
|
||||
ret = h261_decode_picture_header(h);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* H261 encoder
|
||||
* H.261 encoder
|
||||
* Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
|
||||
* Copyright (c) 2004 Maarten Daniels
|
||||
*
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* H263/MPEG4 backend for encoder and decoder
|
||||
* H.263/MPEG-4 backend for encoder and decoder
|
||||
* Copyright (c) 2000,2001 Fabrice Bellard
|
||||
* H263+ support.
|
||||
* H.263+ support.
|
||||
* Copyright (c) 2001 Juan J. Sierralta P
|
||||
* Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
|
||||
*
|
||||
@ -24,7 +24,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* h263/mpeg4 codec.
|
||||
* H.263/MPEG-4 codec.
|
||||
*/
|
||||
|
||||
#include <limits.h>
|
||||
@ -320,7 +320,7 @@ int16_t *ff_h263_pred_motion(MpegEncContext * s, int block, int dir,
|
||||
A = mot_val[ - 1];
|
||||
/* special case for first (slice) line */
|
||||
if (s->first_slice_line && block<3) {
|
||||
// we can't just change some MVs to simulate that as we need them for the B frames (and ME)
|
||||
// we can't just change some MVs to simulate that as we need them for the B-frames (and ME)
|
||||
// and if we ever support non rectangular objects than we need to do a few ifs here anyway :(
|
||||
if(block==0){ //most common case
|
||||
if(s->mb_x == s->resync_mb_x){ //rare
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* H263 internal header
|
||||
* H.263 internal header
|
||||
*
|
||||
* This file is part of FFmpeg.
|
||||
*
|
||||
@ -87,7 +87,7 @@ int ff_h263_decode_mb(MpegEncContext *s,
|
||||
int16_t block[6][64]);
|
||||
|
||||
/**
|
||||
* Return the value of the 3bit "source format" syntax element.
|
||||
* Return the value of the 3-bit "source format" syntax element.
|
||||
* This represents some standard picture dimensions or indicates that
|
||||
* width&height are explicitly stored later.
|
||||
*/
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* H263+ tables
|
||||
* H.263+ tables
|
||||
*
|
||||
* This file is part of FFmpeg.
|
||||
*
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* copyright (c) 2000,2001 Fabrice Bellard
|
||||
* H263+ support
|
||||
* H.263+ support
|
||||
* copyright (c) 2001 Juan J. Sierralta P
|
||||
* copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
|
||||
*
|
||||
|
@ -129,7 +129,7 @@ av_cold int ff_h263_decode_init(AVCodecContext *avctx)
|
||||
if (avctx->extradata_size == 56 && avctx->extradata[0] == 1)
|
||||
s->ehc_mode = 1;
|
||||
|
||||
/* for h263, we allocate the images after having read the header */
|
||||
/* for H.263, we allocate the images after having read the header */
|
||||
if (avctx->codec->id != AV_CODEC_ID_H263 &&
|
||||
avctx->codec->id != AV_CODEC_ID_H263P &&
|
||||
avctx->codec->id != AV_CODEC_ID_MPEG4) {
|
||||
@ -475,7 +475,7 @@ retry:
|
||||
return ret;
|
||||
|
||||
if (!s->context_initialized)
|
||||
// we need the idct permutaton for reading a custom matrix
|
||||
// we need the idct permutation for reading a custom matrix
|
||||
ff_mpv_idct_init(s);
|
||||
|
||||
/* let's go :-) */
|
||||
@ -536,9 +536,9 @@ retry:
|
||||
goto retry;
|
||||
}
|
||||
|
||||
/* After H263 & mpeg4 header decode we have the height, width,
|
||||
/* After H.263 & MPEG-4 header decode we have the height, width,
|
||||
* and other parameters. So then we could init the picture.
|
||||
* FIXME: By the way H263 decoder is evolving it should have
|
||||
* FIXME: By the way H.263 decoder is evolving it should have
|
||||
* an H263EncContext */
|
||||
if (s->width != avctx->coded_width ||
|
||||
s->height != avctx->coded_height ||
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* H.264 / AVC / MPEG4 part10 codec.
|
||||
* H.264 / AVC / MPEG-4 part10 codec.
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* H.264 / AVC / MPEG4 part10 codec.
|
||||
* H.264 / AVC / MPEG-4 part10 codec.
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
||||
@ -433,7 +433,7 @@ typedef struct H264SliceContext {
|
||||
|
||||
DECLARE_ALIGNED(8, uint16_t, sub_mb_type)[4];
|
||||
|
||||
///< as a dct coefficient is int32_t in high depth, we need to reserve twice the space.
|
||||
///< as a DCT coefficient is int32_t in high depth, we need to reserve twice the space.
|
||||
DECLARE_ALIGNED(16, int16_t, mb)[16 * 48 * 2];
|
||||
DECLARE_ALIGNED(16, int16_t, mb_luma_dc)[3][16 * 2];
|
||||
///< as mb is addressed by scantable[i] and scantable is uint8_t we can either
|
||||
@ -472,7 +472,7 @@ typedef struct H264Context {
|
||||
|
||||
H2645Packet pkt;
|
||||
|
||||
int pixel_shift; ///< 0 for 8-bit H264, 1 for high-bit-depth H264
|
||||
int pixel_shift; ///< 0 for 8-bit H.264, 1 for high-bit-depth H.264
|
||||
|
||||
/* coded dimensions -- 16 * mb w/h */
|
||||
int width, height;
|
||||
@ -563,7 +563,7 @@ typedef struct H264Context {
|
||||
int nal_unit_type;
|
||||
|
||||
/**
|
||||
* Used to parse AVC variant of h264
|
||||
* Used to parse AVC variant of H.264
|
||||
*/
|
||||
int is_avc; ///< this flag is != 0 if codec is avc1
|
||||
int nal_length_size; ///< Number of bytes used for nal length (1, 2 or 4)
|
||||
|
@ -58,7 +58,7 @@ typedef struct H2645NAL {
|
||||
int skipped_bytes_pos_size;
|
||||
int *skipped_bytes_pos;
|
||||
/**
|
||||
* H264 only, nal_ref_idc
|
||||
* H.264 only, nal_ref_idc
|
||||
*/
|
||||
int ref_idc;
|
||||
} H2645NAL;
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* H.264 / AVC / MPEG4 part10 cabac decoding.
|
||||
* H.264 / AVC / MPEG-4 part10 cabac decoding.
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
||||
@ -56,7 +56,7 @@ static const int8_t cabac_context_init_I[1024][2] =
|
||||
{ 2, 54 }, { 3, 74 }, { -28,127 }, { -23, 104 },
|
||||
{ -6, 53 }, { -1, 54 }, { 7, 51 },
|
||||
|
||||
/* 11 - 23 unsused for I */
|
||||
/* 11 - 23 unused for I */
|
||||
{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
|
||||
{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
|
||||
{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 },
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* H.264 / AVC / MPEG4 part10 cavlc bitstream decoding.
|
||||
* H.264 / AVC / MPEG-4 part10 cavlc bitstream decoding.
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* H.264 / AVC / MPEG4 part10 direct mb/block decoding.
|
||||
* H.264 / AVC / MPEG-4 part10 direct mb/block decoding.
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* H.264 / AVC / MPEG4 part10 loop filter.
|
||||
* H.264 / AVC / MPEG-4 part10 loop filter.
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* H.264 / AVC / MPEG4 part10 macroblock decoding
|
||||
* H.264 / AVC / MPEG-4 part10 macroblock decoding
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
@ -90,7 +90,7 @@ static inline void get_lowest_part_y(const H264Context *h, H264SliceContext *sl,
|
||||
/**
|
||||
* Wait until all reference frames are available for MC operations.
|
||||
*
|
||||
* @param h the H264 context
|
||||
* @param h the H.264 context
|
||||
*/
|
||||
static void await_references(const H264Context *h, H264SliceContext *sl)
|
||||
{
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* H.26L/H.264/AVC/JVT/14496-10/... motion vector predicion
|
||||
* H.26L/H.264/AVC/JVT/14496-10/... motion vector prediction
|
||||
* Copyright (c) 2003 Michael Niedermayer <michaelni@gmx.at>
|
||||
*
|
||||
* This file is part of FFmpeg.
|
||||
@ -21,7 +21,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* H.264 / AVC / MPEG4 part10 motion vector predicion.
|
||||
* H.264 / AVC / MPEG-4 part10 motion vector prediction.
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
||||
|
@ -33,7 +33,7 @@ typedef struct H264PredWeightTable {
|
||||
int chroma_log2_weight_denom;
|
||||
int luma_weight_flag[2]; ///< 7.4.3.2 luma_weight_lX_flag
|
||||
int chroma_weight_flag[2]; ///< 7.4.3.2 chroma_weight_lX_flag
|
||||
// The following 2 can be changed to int8_t but that causes 10cpu cycles speedloss
|
||||
// The following 2 can be changed to int8_t but that causes a 10 CPU cycles speed loss
|
||||
int luma_weight[48][2][2];
|
||||
int chroma_weight[48][2][2][2];
|
||||
int implicit_weight[48][48][2];
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* H.264 / AVC / MPEG4 part10 parser.
|
||||
* H.264 / AVC / MPEG-4 part10 parser.
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* H.264 / AVC / MPEG4 part10 codec.
|
||||
* H.264 / AVC / MPEG-4 part10 codec.
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* H.264 / AVC / MPEG4 part10 parameter set decoding.
|
||||
* H.264 / AVC / MPEG-4 part10 parameter set decoding.
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* H.264 / AVC / MPEG4 part10 reference picture handling.
|
||||
* H.264 / AVC / MPEG-4 part10 reference picture handling.
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
||||
@ -674,7 +674,7 @@ int ff_h264_execute_ref_pic_marking(H264Context *h, MMCO *mmco, int mmco_count)
|
||||
av_log(h->avctx, AV_LOG_DEBUG, "mmco: unref long failure\n");
|
||||
break;
|
||||
case MMCO_LONG:
|
||||
// Comment below left from previous code as it is an interresting note.
|
||||
// Comment below left from previous code as it is an interesting note.
|
||||
/* First field in pair is in short term list or
|
||||
* at a different long term index.
|
||||
* This is not allowed; see 7.4.3.3, notes 2 and 3.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* H.26L/H.264/AVC/JVT/14496-10/... sei decoding
|
||||
* H.26L/H.264/AVC/JVT/14496-10/... SEI decoding
|
||||
* Copyright (c) 2003 Michael Niedermayer <michaelni@gmx.at>
|
||||
*
|
||||
* This file is part of FFmpeg.
|
||||
@ -21,7 +21,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* H.264 / AVC / MPEG4 part10 sei decoding.
|
||||
* H.264 / AVC / MPEG-4 part10 SEI decoding.
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* H.264 / AVC / MPEG4 part10 codec.
|
||||
* H.264 / AVC / MPEG-4 part10 codec.
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
||||
@ -128,7 +128,7 @@ static int alloc_scratch_buffers(H264SliceContext *sl, int linesize)
|
||||
|
||||
av_fast_malloc(&sl->bipred_scratchpad, &sl->bipred_scratchpad_allocated, 16 * 6 * alloc_size);
|
||||
// edge emu needs blocksize + filter length - 1
|
||||
// (= 21x21 for h264)
|
||||
// (= 21x21 for H.264)
|
||||
av_fast_malloc(&sl->edge_emu_buffer, &sl->edge_emu_buffer_allocated, alloc_size * 2 * 21);
|
||||
|
||||
av_fast_mallocz(&sl->top_borders[0], &sl->top_borders_allocated[0],
|
||||
@ -1022,7 +1022,7 @@ static enum AVPixelFormat non_j_pixfmt(enum AVPixelFormat a)
|
||||
|
||||
/**
|
||||
* Decode a slice header.
|
||||
* This will (re)intialize the decoder and call h264_frame_start() as needed.
|
||||
* This will (re)initialize the decoder and call h264_frame_start() as needed.
|
||||
*
|
||||
* @param h h264context
|
||||
*
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* H.264 / AVC / MPEG4 part10 DSP functions.
|
||||
* H.264 / AVC / MPEG-4 part10 DSP functions.
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* H26L/H264/AVC/JVT/14496-10/... encoder/decoder
|
||||
* H.26L/H.264/AVC/JVT/14496-10/... encoder/decoder
|
||||
* Copyright (c) 2003 Michael Niedermayer <michaelni@gmx.at>
|
||||
*
|
||||
* This file is part of FFmpeg.
|
||||
@ -22,7 +22,7 @@
|
||||
/**
|
||||
* @file
|
||||
* @brief
|
||||
* H264 / AVC / MPEG4 part10 codec data table
|
||||
* H.264 / AVC / MPEG-4 part10 codec data table
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* H.264 / AVC / MPEG4 part10 DSP functions.
|
||||
* H.264 / AVC / MPEG-4 part10 DSP functions.
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
||||
|
@ -70,7 +70,7 @@ typedef struct H264DSPContext {
|
||||
int stride, int alpha, int beta);
|
||||
void (*h264_h_loop_filter_chroma_mbaff_intra)(uint8_t *pix /*align 8*/,
|
||||
int stride, int alpha, int beta);
|
||||
// h264_loop_filter_strength: simd only. the C version is inlined in h264.c
|
||||
// h264_loop_filter_strength: simd only. the C version is inlined in h264_loopfilter.c
|
||||
void (*h264_loop_filter_strength)(int16_t bS[2][4][4], uint8_t nnz[40],
|
||||
int8_t ref[2][40], int16_t mv[2][40][2],
|
||||
int bidir, int edges, int step,
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* H.264 / AVC / MPEG4 part10 DSP functions.
|
||||
* H.264 / AVC / MPEG-4 part10 DSP functions.
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* H.264 / AVC / MPEG4 part10 prediction functions.
|
||||
* H.264 / AVC / MPEG-4 part10 prediction functions.
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
||||
@ -556,7 +556,7 @@ av_cold void ff_h264_pred_init(H264PredContext *h, int codec_id,
|
||||
h->pred16x16[TOP_DC_PRED8x8 ]= FUNCC(pred16x16_top_dc , depth);\
|
||||
h->pred16x16[DC_128_PRED8x8 ]= FUNCC(pred16x16_128_dc , depth);\
|
||||
\
|
||||
/* special lossless h/v prediction for h264 */ \
|
||||
/* special lossless h/v prediction for H.264 */ \
|
||||
h->pred4x4_add [VERT_PRED ]= FUNCC(pred4x4_vertical_add , depth);\
|
||||
h->pred4x4_add [ HOR_PRED ]= FUNCC(pred4x4_horizontal_add , depth);\
|
||||
h->pred8x8l_add [VERT_PRED ]= FUNCC(pred8x8l_vertical_add , depth);\
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* H.264 / AVC / MPEG4 prediction functions.
|
||||
* H.264 / AVC / MPEG-4 prediction functions.
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
||||
@ -75,7 +75,7 @@
|
||||
#define TOP_DC_PRED8x8 5
|
||||
#define DC_128_PRED8x8 6
|
||||
|
||||
// H264/SVQ3 (8x8) specific
|
||||
// H.264/SVQ3 (8x8) specific
|
||||
#define ALZHEIMER_DC_L0T_PRED8x8 7
|
||||
#define ALZHEIMER_DC_0LT_PRED8x8 8
|
||||
#define ALZHEIMER_DC_L00_PRED8x8 9
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* H.264 / AVC / MPEG4 part10 prediction functions.
|
||||
* H.264 / AVC / MPEG-4 part10 prediction functions.
|
||||
* @author Michael Niedermayer <michaelni@gmx.at>
|
||||
*/
|
||||
|
||||
|
@ -81,7 +81,7 @@ static av_always_inline int z_scan_block_avail(HEVCContext *s, int xCurr, int yC
|
||||
}
|
||||
}
|
||||
|
||||
//check if the two luma locations belong to the same mostion estimation region
|
||||
//check if the two luma locations belong to the same motion estimation region
|
||||
static av_always_inline int is_diff_mer(HEVCContext *s, int xN, int yN, int xP, int yP)
|
||||
{
|
||||
uint8_t plevel = s->ps.pps->log2_parallel_merge_level;
|
||||
|
@ -122,7 +122,7 @@ static int decode_nal_sei_frame_packing_arrangement(HEVCContext *s)
|
||||
if (!s->quincunx_subsampling && s->frame_packing_arrangement_type != 5)
|
||||
skip_bits(gb, 16); // frame[01]_grid_position_[xy]
|
||||
skip_bits(gb, 8); // frame_packing_arrangement_reserved_byte
|
||||
skip_bits1(gb); // frame_packing_arrangement_persistance_flag
|
||||
skip_bits1(gb); // frame_packing_arrangement_persistence_flag
|
||||
}
|
||||
skip_bits1(gb); // upsampled_aspect_ratio_flag
|
||||
return 0;
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* id Quake II CIN Video Decoder
|
||||
* Copyright (c) 2003 The FFmpeg Project
|
||||
* Copyright (C) 2003 The FFmpeg project
|
||||
*
|
||||
* This file is part of FFmpeg.
|
||||
*
|
||||
|
@ -70,7 +70,7 @@ typedef struct IMCChannel {
|
||||
int sumLenArr[BANDS]; ///< bits for all coeffs in band
|
||||
int skipFlagRaw[BANDS]; ///< skip flags are stored in raw form or not
|
||||
int skipFlagBits[BANDS]; ///< bits used to code skip flags
|
||||
int skipFlagCount[BANDS]; ///< skipped coeffients per band
|
||||
int skipFlagCount[BANDS]; ///< skipped coefficients per band
|
||||
int skipFlags[COEFFS]; ///< skip coefficient decoding or not
|
||||
int codewords[COEFFS]; ///< raw codewords read from bitstream
|
||||
|
||||
|
@ -53,7 +53,7 @@ enum {
|
||||
|
||||
|
||||
/* Some constants for parsing frame bitstream flags. */
|
||||
#define BS_8BIT_PEL (1 << 1) ///< 8bit pixel bitdepth indicator
|
||||
#define BS_8BIT_PEL (1 << 1) ///< 8-bit pixel bitdepth indicator
|
||||
#define BS_KEYFRAME (1 << 2) ///< intra frame indicator
|
||||
#define BS_MV_Y_HALF (1 << 4) ///< vertical mv halfpel resolution indicator
|
||||
#define BS_MV_X_HALF (1 << 5) ///< horizontal mv halfpel resolution indicator
|
||||
@ -317,7 +317,7 @@ static inline uint32_t replicate32(uint32_t a) {
|
||||
}
|
||||
|
||||
|
||||
/* Fill n lines with 64bit pixel value pix */
|
||||
/* Fill n lines with 64-bit pixel value pix */
|
||||
static inline void fill_64(uint8_t *dst, const uint64_t pix, int32_t n,
|
||||
int32_t row_offset)
|
||||
{
|
||||
|
@ -234,7 +234,7 @@
|
||||
|
||||
|
||||
/**
|
||||
* Pack two delta values (a,b) into one 16bit word
|
||||
* Pack two delta values (a,b) into one 16-bit word
|
||||
* according with endianness of the host machine.
|
||||
*/
|
||||
#if HAVE_BIGENDIAN
|
||||
@ -281,7 +281,7 @@ static const int16_t delta_tab_3_5[79] = { TAB_3_5 };
|
||||
#undef PD
|
||||
|
||||
/**
|
||||
* Pack four delta values (a,a,b,b) into one 32bit word
|
||||
* Pack four delta values (a,a,b,b) into one 32-bit word
|
||||
* according with endianness of the host machine.
|
||||
*/
|
||||
#if HAVE_BIGENDIAN
|
||||
|
@ -43,8 +43,8 @@ int ff_intel_h263_decode_picture_header(MpegEncContext *s)
|
||||
return -1; /* marker */
|
||||
}
|
||||
if (get_bits1(&s->gb) != 0) {
|
||||
av_log(s->avctx, AV_LOG_ERROR, "Bad H263 id\n");
|
||||
return -1; /* h263 id */
|
||||
av_log(s->avctx, AV_LOG_ERROR, "Bad H.263 id\n");
|
||||
return -1; /* H.263 id */
|
||||
}
|
||||
skip_bits1(&s->gb); /* split screen off */
|
||||
skip_bits1(&s->gb); /* camera off */
|
||||
@ -52,7 +52,7 @@ int ff_intel_h263_decode_picture_header(MpegEncContext *s)
|
||||
|
||||
format = get_bits(&s->gb, 3);
|
||||
if (format == 0 || format == 6) {
|
||||
av_log(s->avctx, AV_LOG_ERROR, "Intel H263 free format not supported\n");
|
||||
av_log(s->avctx, AV_LOG_ERROR, "Intel H.263 free format not supported\n");
|
||||
return -1;
|
||||
}
|
||||
s->h263_plus = 0;
|
||||
@ -77,7 +77,7 @@ int ff_intel_h263_decode_picture_header(MpegEncContext *s)
|
||||
} else {
|
||||
format = get_bits(&s->gb, 3);
|
||||
if(format == 0 || format == 7){
|
||||
av_log(s->avctx, AV_LOG_ERROR, "Wrong Intel H263 format\n");
|
||||
av_log(s->avctx, AV_LOG_ERROR, "Wrong Intel H.263 format\n");
|
||||
return -1;
|
||||
}
|
||||
if(get_bits(&s->gb, 2))
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Interplay MVE Video Decoder
|
||||
* Copyright (c) 2003 The FFmpeg Project
|
||||
* Copyright (C) 2003 The FFmpeg project
|
||||
*
|
||||
* This file is part of FFmpeg.
|
||||
*
|
||||
|
@ -215,7 +215,7 @@ static void x8_get_ac_rlf(IntraX8Context *const w, const int mode,
|
||||
int t, l;
|
||||
if (i < 0) {
|
||||
*level =
|
||||
*final = // prevent 'may be used unilitialized'
|
||||
*final = // prevent 'may be used uninitialized'
|
||||
*run = 64; // this would cause error exit in the ac loop
|
||||
return;
|
||||
}
|
||||
@ -249,12 +249,12 @@ static void x8_get_ac_rlf(IntraX8Context *const w, const int mode,
|
||||
sm = ac_decode_table[i];
|
||||
|
||||
e = get_bits(w->gb, sm & 0xF);
|
||||
sm >>= 8; // 3bits
|
||||
sm >>= 8; // 3 bits
|
||||
mask = sm & 0xff;
|
||||
sm >>= 8; // 1bit
|
||||
sm >>= 8; // 1 bit
|
||||
|
||||
*run = (sm & 0xff) + (e & mask); // 6bits
|
||||
*level = (sm >> 8) + (e & ~mask); // 5bits
|
||||
*run = (sm & 0xff) + (e & mask); // 6 bits
|
||||
*level = (sm >> 8) + (e & ~mask); // 5 bits
|
||||
*final = i > (58 - 46);
|
||||
} else if (i < 75) { // [73-74]
|
||||
static const uint8_t crazy_mix_runlevel[32] = {
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* ITU H263 bitstream decoder
|
||||
* ITU H.263 bitstream decoder
|
||||
* Copyright (c) 2000,2001 Fabrice Bellard
|
||||
* H263+ support.
|
||||
* H.263+ support.
|
||||
* Copyright (c) 2001 Juan J. Sierralta P
|
||||
* Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
|
||||
*
|
||||
@ -24,7 +24,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* h263 decoder.
|
||||
* H.263 decoder.
|
||||
*/
|
||||
|
||||
#define UNCHECKED_BITSTREAM_READER 1
|
||||
@ -277,7 +277,7 @@ int ff_h263_decode_motion(MpegEncContext * s, int pred, int f_code)
|
||||
if (!s->h263_long_vectors) {
|
||||
val = sign_extend(val, 5 + f_code);
|
||||
} else {
|
||||
/* horrible h263 long vector mode */
|
||||
/* horrible H.263 long vector mode */
|
||||
if (pred < -31 && val < -63)
|
||||
val += 64;
|
||||
if (pred > 32 && val > 63)
|
||||
@ -872,7 +872,7 @@ end:
|
||||
return SLICE_OK;
|
||||
}
|
||||
|
||||
/* most is hardcoded. should extend to handle all h263 streams */
|
||||
/* Most is hardcoded; should extend to handle all H.263 streams. */
|
||||
int ff_h263_decode_picture_header(MpegEncContext *s)
|
||||
{
|
||||
int format, width, height, i, ret;
|
||||
@ -908,8 +908,8 @@ int ff_h263_decode_picture_header(MpegEncContext *s)
|
||||
return -1;
|
||||
}
|
||||
if (get_bits1(&s->gb) != 0) {
|
||||
av_log(s->avctx, AV_LOG_ERROR, "Bad H263 id\n");
|
||||
return -1; /* h263 id */
|
||||
av_log(s->avctx, AV_LOG_ERROR, "Bad H.263 id\n");
|
||||
return -1; /* H.263 id */
|
||||
}
|
||||
skip_bits1(&s->gb); /* split screen off */
|
||||
skip_bits1(&s->gb); /* camera off */
|
||||
@ -936,7 +936,7 @@ int ff_h263_decode_picture_header(MpegEncContext *s)
|
||||
s->h263_long_vectors = get_bits1(&s->gb);
|
||||
|
||||
if (get_bits1(&s->gb) != 0) {
|
||||
av_log(s->avctx, AV_LOG_ERROR, "H263 SAC not supported\n");
|
||||
av_log(s->avctx, AV_LOG_ERROR, "H.263 SAC not supported\n");
|
||||
return -1; /* SAC: off */
|
||||
}
|
||||
s->obmc= get_bits1(&s->gb); /* Advanced prediction mode */
|
||||
@ -1029,7 +1029,7 @@ int ff_h263_decode_picture_header(MpegEncContext *s)
|
||||
height = get_bits(&s->gb, 9) * 4;
|
||||
ff_dlog(s->avctx, "\nH.263+ Custom picture: %dx%d\n",width,height);
|
||||
if (s->aspect_ratio_info == FF_ASPECT_EXTENDED) {
|
||||
/* aspected dimensions */
|
||||
/* expected dimensions */
|
||||
s->avctx->sample_aspect_ratio.num= get_bits(&s->gb, 8);
|
||||
s->avctx->sample_aspect_ratio.den= get_bits(&s->gb, 8);
|
||||
}else{
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* ITU H263 bitstream encoder
|
||||
* ITU H.263 bitstream encoder
|
||||
* Copyright (c) 2000,2001 Fabrice Bellard
|
||||
* H263+ support.
|
||||
* H.263+ support.
|
||||
* Copyright (c) 2001 Juan J. Sierralta P
|
||||
* Copyright (c) 2002-2004 Michael Niedermayer <michaelni@gmx.at>
|
||||
*
|
||||
@ -24,7 +24,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* h263 bitstream encoder.
|
||||
* H.263 bitstream encoder.
|
||||
*/
|
||||
|
||||
#include <limits.h>
|
||||
@ -135,7 +135,7 @@ void ff_h263_encode_picture_header(MpegEncContext * s, int picture_number)
|
||||
put_sbits(&s->pb, 8, temp_ref); /* TemporalReference */
|
||||
|
||||
put_bits(&s->pb, 1, 1); /* marker */
|
||||
put_bits(&s->pb, 1, 0); /* h263 id */
|
||||
put_bits(&s->pb, 1, 0); /* H.263 id */
|
||||
put_bits(&s->pb, 1, 0); /* split screen off */
|
||||
put_bits(&s->pb, 1, 0); /* camera off */
|
||||
put_bits(&s->pb, 1, 0); /* freeze picture release off */
|
||||
@ -151,7 +151,7 @@ void ff_h263_encode_picture_header(MpegEncContext * s, int picture_number)
|
||||
put_bits(&s->pb, 1, 0); /* Unrestricted Motion Vector: off */
|
||||
put_bits(&s->pb, 1, 0); /* SAC: off */
|
||||
put_bits(&s->pb, 1, s->obmc); /* Advanced Prediction */
|
||||
put_bits(&s->pb, 1, 0); /* only I/P frames, no PB frame */
|
||||
put_bits(&s->pb, 1, 0); /* only I/P-frames, no PB-frame */
|
||||
put_bits(&s->pb, 5, s->qscale);
|
||||
put_bits(&s->pb, 1, 0); /* Continuous Presence Multipoint mode: off */
|
||||
} else {
|
||||
@ -262,7 +262,7 @@ void ff_h263_encode_gob_header(MpegEncContext * s, int mb_line)
|
||||
}
|
||||
|
||||
/**
|
||||
* modify qscale so that encoding is actually possible in h263 (limit difference to -2..2)
|
||||
* modify qscale so that encoding is actually possible in H.263 (limit difference to -2..2)
|
||||
*/
|
||||
void ff_clean_h263_qscales(MpegEncContext *s){
|
||||
int i;
|
||||
@ -774,7 +774,7 @@ av_cold void ff_h263_encode_init(MpegEncContext *s)
|
||||
|
||||
init_mv_penalty_and_fcode(s);
|
||||
}
|
||||
s->me.mv_penalty= mv_penalty; //FIXME exact table for msmpeg4 & h263p
|
||||
s->me.mv_penalty= mv_penalty; // FIXME exact table for MSMPEG4 & H.263+
|
||||
|
||||
s->intra_ac_vlc_length =s->inter_ac_vlc_length = uni_h263_inter_rl_len;
|
||||
s->intra_ac_vlc_last_length=s->inter_ac_vlc_last_length= uni_h263_inter_rl_len + 128*64;
|
||||
@ -784,7 +784,7 @@ av_cold void ff_h263_encode_init(MpegEncContext *s)
|
||||
}
|
||||
s->ac_esc_length= 7+1+6+8;
|
||||
|
||||
// use fcodes >1 only for mpeg4 & h263 & h263p FIXME
|
||||
// use fcodes >1 only for MPEG-4 & H.263 & H.263+ FIXME
|
||||
switch(s->codec_id){
|
||||
case AV_CODEC_ID_MPEG4:
|
||||
s->fcode_tab= fcode_tab;
|
||||
@ -800,7 +800,7 @@ av_cold void ff_h263_encode_init(MpegEncContext *s)
|
||||
s->max_qcoeff= 127;
|
||||
}
|
||||
break;
|
||||
//Note for mpeg4 & h263 the dc-scale table will be set per frame as needed later
|
||||
// Note for MPEG-4 & H.263 the dc-scale table will be set per frame as needed later
|
||||
case AV_CODEC_ID_FLV1:
|
||||
if (s->h263_flv > 1) {
|
||||
s->min_qcoeff= -1023;
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* DSP functions (inverse transforms, motion compensation, wavelet recompostions)
|
||||
* DSP functions (inverse transforms, motion compensation, wavelet recompositions)
|
||||
* for Indeo Video Interactive codecs.
|
||||
*/
|
||||
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
/**
|
||||
* @file
|
||||
* DSP functions (inverse transforms, motion compensations, wavelet recompostion)
|
||||
* DSP functions (inverse transforms, motion compensations, wavelet recomposition)
|
||||
* for Indeo Video Interactive codecs.
|
||||
*/
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user