FFmpeg/libavutil
Niklas Haas cf37c3fb6c avcodec/h264_slice: compute and export film grain seed
From SMPTE RDD 5-2006, the grain seed is to be computed from the
following definition of `pic_offset`:

> When decoding H.264 | MPEG-4 AVC bitstreams, pic_offset is defined as
> follows:
>   - pic_offset = PicOrderCnt(CurrPic) + (PicOrderCnt_offset << 5)
> where:
>   - PicOrderCnt(CurrPic) is the picture order count of the current frame,
>     which shall be derived from [the video stream].
>
>   - PicOrderCnt_offset is set to idr_pic_id on IDR frames. idr_pic_id
>     shall be read from the slice header of [the video stream]. On non-IDR I
>     frames, PicOrderCnt_offset is set to 0. A frame shall be classified as I
>     frame when all its slices are I slices, which may be optionally
>     designated by setting primary_pic_type to 0 in the access delimiter NAL
>     unit. Otherwise, PicOrderCnt_offset it not changed. PicOrderCnt_offset is
>     updated in decoding order.

Co-authored-by: James Almer <jamrial@gmail.com>
Signed-off-by: Niklas Haas <git@haasn.dev>
Signed-off-by: James Almer <jamrial@gmail.com>
2021-08-24 09:58:52 -03:00
..
aarch64 arm/aarch64: Use mach_absolute_time as timer on apple platforms 2021-02-21 22:41:34 +02:00
arm arm/aarch64: Use mach_absolute_time as timer on apple platforms 2021-02-21 22:41:34 +02:00
avr32
bfin
mips avutil/mips: Use $at as MMI macro temporary register 2021-07-28 23:31:48 +02:00
ppc avutil/ppc/cpu: Fix power8 linux detection 2019-02-05 09:29:57 +02:00
sh4
tests Remove unnecessary avassert.h inclusions 2021-07-22 15:02:30 +02:00
tomi
x86 x86/tx_float: correctly load the transform length 2021-07-18 15:04:57 +02:00
.gitignore
adler32.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
adler32.h avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
aes_ctr.c
aes_ctr.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
aes_internal.h All: update names in copyright headers 2021-01-20 01:02:56 -06:00
aes.c
aes.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
attributes.h avutil/attributes: Fix too many warning: false is not defined [-Wundef] 2020-05-30 17:29:23 +08:00
audio_fifo.c
audio_fifo.h
avassert.h
avsscanf.c Remove unnecessary avassert.h inclusions 2021-07-22 15:02:30 +02:00
avstring.c avutil/avstring: Check for memory allocation error in av_escape 2021-03-15 06:45:07 +01:00
avstring.h avutil/{avstring,bprint}: add XML escaping from ffprobe to avutil 2021-03-05 19:45:00 +02:00
avutil.h
avutilres.rc
base64.c avutil/base64: Fix undefined NULL + 0 2021-04-01 14:47:00 +02:00
base64.h
blowfish.c
blowfish.h
bprint.c Remove unnecessary avassert.h inclusions 2021-07-22 15:02:30 +02:00
bprint.h
bswap.h
buffer_internal.h avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
buffer.c avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
buffer.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
camellia.c
camellia.h
cast5.c
cast5.h
channel_layout.c avutil/channel_layout: add 22.2 layout 2020-08-04 00:17:56 +03:00
channel_layout.h avutil/channel_layout: add 22.2 layout 2020-08-04 00:17:56 +03:00
color_utils.c
color_utils.h
colorspace.h avutil/colorspace: add macros for RGB->YUV BT.709 2019-04-19 17:10:20 +05:30
common.h avutil/common, macros: Move several macros from common.h to macros.h 2021-07-29 22:02:05 +02:00
cpu_internal.h libavutil: Detect MMI and MSA flags for MIPS 2020-07-23 17:21:58 +02:00
cpu.c lavu/cpu: Use av_cpu_ prefix 2021-07-20 10:31:41 +02:00
cpu.h lavu/cpu: Use av_cpu_ prefix 2021-07-20 10:31:41 +02:00
crc.c
crc.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
cuda_check.h avutil/cuda_check: add missing dynlink_loader.h include 2020-09-15 19:29:37 -03:00
des.c
des.h
detection_bbox.c avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
detection_bbox.h lavu/detection_bbox.h: use AV_NUM_DETECTION_BBOX_CLASSIFY to replace AV_NUM_BBOX_CLASSIFY 2021-04-18 10:41:17 +08:00
dict.c avutil/dict: av_realloc -> av_realloc_array() 2020-06-06 10:32:07 +08:00
dict.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
display.c
display.h
dovi_meta.c lavutil: add DOVI related header 2020-04-23 08:05:15 +08:00
dovi_meta.h lavutil: add DOVI related header 2020-04-23 08:05:15 +08:00
downmix_info.c
downmix_info.h
dynarray.h avutil/dynarry.h: fix comment grammar mistakes of FF_DYNARRAY_ADD 2019-06-01 17:43:48 +08:00
encryption_info.c avutil/encryption_info: Don't pass NULL to memcpy 2019-09-20 23:26:34 +02:00
encryption_info.h
error.c
error.h avutil/error: Include macros.h for MKTAG 2021-07-29 22:02:05 +02:00
eval.c libavutil/eval: Remove CONFIG_TRAPV special handling 2021-02-10 12:28:29 +01:00
eval.h avutil/eval: Add av_expr_count_func() similar to av_expr_count_vars() 2019-12-28 11:20:48 +01:00
ffmath.h
fifo.c
fifo.h
file_open.c avpriv_tempfile: add djgpp fallback 2018-11-28 22:16:07 +11:00
file.c avutil/file: add more check befor destory the buffer 2019-08-30 09:16:01 +08:00
file.h
film_grain_params.c libavutil: introduce AVFilmGrainParams side data 2020-11-25 23:06:33 +01:00
film_grain_params.h avcodec/h264_slice: compute and export film grain seed 2021-08-24 09:58:52 -03:00
fixed_dsp.c avutil/fixed_dsp: Fix integer overflows in butterflies_fixed_c() 2020-09-19 00:37:45 +02:00
fixed_dsp.h
float_dsp.c
float_dsp.h
frame.c avcodec/avcodec: Don't include cpu.h 2021-07-22 12:59:07 +02:00
frame.h avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
hash.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
hash.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
hdr_dynamic_metadata.c Add HDR dynamic metadata struct (for SMPTE 2094-40) to libavutil 2018-12-21 17:52:00 +01:00
hdr_dynamic_metadata.h Add HDR dynamic metadata struct (for SMPTE 2094-40) to libavutil 2018-12-21 17:52:00 +01:00
hmac.c Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
hmac.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
hwcontext_cuda_internal.h avutil/hwcontext_cuda: allow using primary CUDA device context 2019-11-26 16:24:40 +01:00
hwcontext_cuda.c hwcontext_vulkan: dynamically load functions 2021-04-30 00:08:37 +02:00
hwcontext_cuda.h avutil/hwcontext_cuda: allow using primary CUDA device context 2019-11-26 16:24:40 +01:00
hwcontext_d3d11va.c avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
hwcontext_d3d11va.h
hwcontext_drm.c hwcontext_drm: make dependency on Linux kernel headers optional 2020-12-30 23:14:46 +01:00
hwcontext_drm.h
hwcontext_dxva2.c avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
hwcontext_dxva2.h
hwcontext_internal.h hwcontext: add av_hwdevice_ctx_create_derived_opts 2020-05-23 19:07:26 +01:00
hwcontext_mediacodec.c
hwcontext_mediacodec.h
hwcontext_opencl.c avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
hwcontext_opencl.h
hwcontext_qsv.c avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
hwcontext_qsv.h
hwcontext_vaapi.c avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
hwcontext_vaapi.h
hwcontext_vdpau.c avutil/buffer: Switch AVBuffer API to size_t 2021-04-27 10:43:13 -03:00
hwcontext_vdpau.h
hwcontext_videotoolbox.c avutil/hwcontext_videotoolbox: implement hwupload to convert AVFrame to CVPixelBuffer 2021-07-18 12:01:16 -07:00
hwcontext_videotoolbox.h avutil/hwcontext_videotoolbox: implement hwupload to convert AVFrame to CVPixelBuffer 2021-07-18 12:01:16 -07:00
hwcontext_vulkan.c hwcontext_vulkan: use GPU memcpy when copying to system RAM 2021-08-14 00:31:28 +02:00
hwcontext_vulkan.h hwcontext_vulkan: dynamically load functions 2021-04-30 00:08:37 +02:00
hwcontext.c hwcontext: add av_hwdevice_ctx_create_derived_opts 2020-05-23 19:07:26 +01:00
hwcontext.h hwcontext: add av_hwdevice_ctx_create_derived_opts 2020-05-23 19:07:26 +01:00
imgutils_internal.h
imgutils.c imgutils: expose av_image_copy_plane_uc_from() 2021-08-14 00:27:43 +02:00
imgutils.h imgutils: expose av_image_copy_plane_uc_from() 2021-08-14 00:27:43 +02:00
integer.c avutil/integer: Fix integer overflow in av_mul_i() 2018-10-24 23:15:24 +02:00
integer.h
internal.h lavu/internal: add FF_FIELD_AT(). 2021-08-14 09:17:45 +02:00
intfloat.h
intmath.c
intmath.h
intreadwrite.h intreadwrite: add AV_RL64A, AV_WL64A 2019-01-11 23:43:37 +11:00
lfg.c
lfg.h avutil/lfg: Correct index increment type to avoid undefined behavior 2019-11-24 22:58:59 +01:00
libavutil.v
libm.h
lls.c Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
lls.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
log2_tab.c
log.c avutil/log: update text requesting samples 2020-04-17 00:08:56 +02:00
log.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
lzo.c
lzo.h
macos_kperf.c lavu/kperf: use ff_thread_once() 2021-07-21 16:35:27 +02:00
macos_kperf.h lavu/kperf: use ff_thread_once() 2021-07-21 16:35:27 +02:00
macros.h avutil/common, macros: Move several macros from common.h to macros.h 2021-07-29 22:02:05 +02:00
Makefile avutil/Makefile: Apply CFLAGS for compilation 2021-08-04 12:59:42 +02:00
mastering_display_metadata.c
mastering_display_metadata.h
mathematics.c Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
mathematics.h
md5.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
md5.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
mem_internal.h avutil/mem: make ff_fast_malloc() internal to mem.c 2021-05-27 10:29:52 -03:00
mem.c avutil/mem: Reinline av_size_mult() internally 2021-08-12 15:25:58 +02:00
mem.h avutil/mem: Correct av_calloc() documentation 2021-08-12 15:25:58 +02:00
motion_vector.h
murmur3.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
murmur3.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
opt.c avutil/opt: Check directly for av_dict_copy() failure 2021-06-08 12:52:50 +02:00
opt.h avutil/opt: Document actual behaviour of av_opt_copy a bit more 2021-08-17 19:11:57 +02:00
parseutils.c avutil/parseutils: Check sign in av_parse_time() 2021-03-03 16:54:20 +01:00
parseutils.h
pca.c
pca.h
pixdesc.c Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
pixdesc.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
pixelutils.c
pixelutils.h
pixfmt.h pixfmt: fixed wrong fix of comment 2021-06-02 17:30:24 +02:00
qsort.h
random_seed.c
random_seed.h
rational.c lavu: add av_gcd_q(). 2020-05-23 15:51:44 +02:00
rational.h lavu: add av_gcd_q(). 2020-05-23 15:51:44 +02:00
rc4.c
rc4.h
replaygain.h
reverse.c
reverse.h
ripemd.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
ripemd.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
samplefmt.c avutil/samplefmt: don't add offsets to NULL pointers 2021-06-13 16:10:37 -03:00
samplefmt.h avutil/samplefmt: remove outdated comment 2021-06-13 16:10:37 -03:00
sha512.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
sha512.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
sha.c avutil: Switch crypto APIs to size_t 2021-04-27 10:43:13 -03:00
sha.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
slicethread.c avcodec/avcodec: Don't include cpu.h 2021-07-22 12:59:07 +02:00
slicethread.h
softfloat_ieee754.h avutil/softfloat_ieee754: Fix odd bit position for exponent and sign in av_bits2sf_ieee754() 2019-07-21 11:26:36 +02:00
softfloat_tables.h
softfloat.h
spherical.c avutil/spherical: Use av_strstart instead of strncmp 2021-02-28 17:14:21 +01:00
spherical.h
stereo3d.c avutil/stereo3d: Use av_strstart instead of strncmp 2021-02-28 17:14:21 +01:00
stereo3d.h
tablegen.h
tea.c
tea.h
thread.h avutil/thread: fix strict_pthread_cond_timedwait 2020-01-25 23:16:18 +01:00
threadmessage.c
threadmessage.h
time_internal.h Merge commit 'c4642788e83b0858bca449f9b6e71ddb015dfa5d' 2019-05-02 13:50:31 -03:00
time.c lavu: use address-of operator checking clock_gettime 2020-12-28 01:12:26 -03:00
time.h
timecode.c avutil/timecode: Avoid fps overflow 2021-03-14 23:29:51 +01:00
timecode.h avutil/timecode: add av_timecode_init_from_components 2020-12-03 18:32:54 +01:00
timer.h lavu/kperf: use ff_thread_once() 2021-07-21 16:35:27 +02:00
timestamp.h
tree.c
tree.h Remove obsolete version.h inclusions 2021-07-22 14:34:31 +02:00
twofish.c
twofish.h
tx_double.c lavu/tx: add support for double precision FFT and MDCT 2019-08-02 01:19:52 +01:00
tx_float.c lavu/tx: add support for double precision FFT and MDCT 2019-08-02 01:19:52 +01:00
tx_int32.c lavu/tx: implement 32 bit fixed point FFT and MDCT 2020-02-13 17:10:34 +00:00
tx_priv.h Remove unnecessary avassert.h inclusions 2021-07-22 15:02:30 +02:00
tx_template.c checkasm: add av_tx FFT SIMD testing code 2021-04-24 17:19:17 +02:00
tx.c avutil/tx: add a return at the end of non-void functions 2021-08-06 21:22:49 -03:00
tx.h lavu/tx: add full-sized iMDCT transform flag 2021-04-24 17:17:27 +02:00
utils.c Silence "string-plus-int" warning shown by clang. 2020-01-06 22:38:56 +01:00
version.h avutil/opt: Document actual behaviour of av_opt_copy a bit more 2021-08-17 19:11:57 +02:00
video_enc_params.c lavu/video_enc_params: make sure blocks are properly aligned 2021-06-10 16:59:50 +02:00
video_enc_params.h mpegvideo: use the AVVideoEncParams API for exporting QP tables 2021-01-01 14:23:19 +01:00
wchar_filename.h
xga_font_data.c
xga_font_data.h
xtea.c
xtea.h