Commit Graph
100 Commits
Author SHA1 Message Date
Vittorio Giovara 25fcbf7a84 hevc: Support extradata changes
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-12-02 15:04:24 -05:00
Vittorio Giovara 46fae40d25 hevc: Allow parsing external extradata buffers 2016-12-02 15:03:24 -05:00
Vittorio Giovara 059a786c20 fate/mov: Rename a couple of entries to respect the file naming scheme 2016-12-02 15:03:06 -05:00
Vittorio Giovara 115b834dcf fate: Add test for mov displaymatrix 2016-11-30 12:19:30 -05:00
Vittorio Giovara 33f7f636ff ffprobe: Fix displaying side data list only
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-11-30 12:19:14 -05:00
Vittorio Giovara 7010ebdf1f mov: Evaluate the movie display matrix
This matrix needs to be applied after all others have (currently only
display matrix from trak), but cannot be handled in movie box, since
streams are not allocated yet. So store it in main context, and apply
it when appropriate, that is after parsing the tkhd one.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-11-30 12:18:58 -05:00
Vittorio Giovara afb84857bf vf_colorspace: Forbid odd dimensions
This prevents writing past bounds.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-11-28 11:24:09 -05:00
Vittorio GiovaraandMichael Niedermayer 00c8079816 fate: Add h264 extradata reload tests
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-11-16 02:43:19 +01:00
Vittorio GiovaraandMichael Niedermayer a765ba647d avformat/mov: Read multiple stsd from DV
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-11-08 14:07:41 +01:00
Vittorio GiovaraandMichael Niedermayer 067910ed13 hevc: Move hevc_decode_extradata before frame decoding
Avoids a forward-declaration in the following commit.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-11-03 16:28:04 +01:00
Vittorio GiovaraandMichael Niedermayer 271afd632f lavc: Add hevc main10 profile to ffmpeg cli
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-11-02 12:27:13 +01:00
Vittorio GiovaraandRonald S. Bultje 6f2ad32a16 vf_colorspace: Add support for film primaries
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2016-11-01 17:47:25 -04:00
Vittorio GiovaraandRonald S. Bultje 4697f60444 vf_colorspace: Add support for smpte 431/432 (dci/display p3) primaries
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2016-11-01 17:47:25 -04:00
Vittorio GiovaraandRonald S. Bultje 2996604acd vf_colorspace: Add support for ycgco color space
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2016-11-01 17:47:25 -04:00
Vittorio GiovaraandMichael Niedermayer 5a123f1424 vf_colorspace: Add support for iec61966-2.4 (xvYCC) transfer
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-10-31 21:02:12 +01:00
Vittorio GiovaraandRonald S. Bultje ba53d3ae8b vf_colorspace: Add support for iec61966-2.1 (sRGB) transfer
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2016-10-24 16:07:44 -04:00
Vittorio GiovaraandRonald S. Bultje cb78d14cf9 vf_colorspace: Interpret unspecified color range as limited range
This is the assumption that is made in pixel format conversion do
throughout the code (in particular swscale), and BT-specifications
mandate.

Add a warning to inform the user that an automatic selection is being
made.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2016-09-19 08:26:49 -04:00
Vittorio GiovaraandRonald S. Bultje 76c28360b5 vf_colorspace: Add modern names for color range option
Allows to use values returned from API and from ffprobe directly.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-09-14 17:24:22 -04:00
Vittorio GiovaraandRonald S. Bultje d41bfa9c0b vf_colorspace: Add BT-names for gamma22/28 transfer option
Allows to use values returned from API and from ffprobe directly.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2016-09-13 10:22:23 -04:00
Vittorio GiovaraandPaul B Mahol 5df993f3b1 vf_colorspace: Allow overriding input color properties
The filter needs input frames with color properties filled out by
the decoder. Since this is not always possible, add input options to
the filter so that user may override color space, color primaries,
transfer characteristics, and color range, as well as a generic option
to set all properties at once.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-09-04 13:11:32 +02:00
Vittorio GiovaraandMichael Niedermayer 69abf4f93c vf_colorspace: Add support for full range yuv
Whenever a full range video is input, since the YUVJ* formats are not
listed as supported for this filter, a range reduction takes place
through the auto-inserted format filter, forcing the conversion to
operate on a limited range,

However the filter handles full range videos perfectly fine, so adding
support to YUVJ* formats will allow skipping a conversion step, while
providing completely identical results.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-27 13:08:43 +02:00
Vittorio GiovaraandMichael Niedermayer 6648da3591 vf_colorspace: Check av_frame_copy_props() return value
This function can potentially allocate memory.

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-08-27 13:08:43 +02:00
Vittorio Giovara 0b1bd1b205 lavd: Drop unneeded av_init_packet()s
The input packet is already unref'd by the calling function.
2016-07-13 18:20:27 -04:00
Vittorio Giovara 390b95b88b fate: Add a mixed NAL coding sample
See 17c99b6158.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-07-13 18:18:46 -04:00
Vittorio Giovara cbbb404055 fate: Restore order of h264 entries 2016-07-13 18:18:46 -04:00
Vittorio Giovara 61bd0ed781 h264: Log more information about invalid NALu size 2016-07-13 18:18:46 -04:00
Vittorio Giovara 029cf99c51 mov: Save number of stsd elements after stream extradata allocation
Avoid freeing an unallocated array in mov_read_close() in case
of a malloc failure.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-06-29 15:25:42 -04:00
Vittorio Giovara 6c445990e6 tiffenc: Check zlib support for deflate option during initialization
This converts a misleading error about an option not found to a more
meaningful one.
2016-06-29 15:25:42 -04:00
Vittorio Giovara 9f732e4c99 tiffenc: Check av_pix_fmt_desc_get() return value 2016-06-29 15:25:42 -04:00
Vittorio Giovara d8f3b0fb58 targaenc: Move size check to initialization function
In case of bogus input, fail early at codec initialization, rather than
at the encode function.
2016-06-29 15:25:42 -04:00
Vittorio Giovara eeb6849ced rle: K&R formatting cosmetics 2016-06-29 15:25:42 -04:00
Vittorio Giovara 7a745f014f options_table: Add aliases for color properties
All option names now match the ones provided by the av_color_*_name().
2016-06-27 12:29:04 -04:00
Vittorio Giovara 444a36269f pixdesc: Fix AVCOL_TRC_BT2020_12 name 2016-06-27 12:27:53 -04:00
Vittorio Giovara f172e22d6a pixdesc: Add aliases to SMPTE color properties
Drop ST from names and symbols, it does not add anything distinctive or
descriptive.
2016-06-27 12:27:13 -04:00
Vittorio Giovara 40dd5166d2 truemotion2rt: Use ff_set_dimensions 2016-06-21 09:38:56 -04:00
Vittorio Giovara a816432337 pixdesc: Add new SMPTE 431, 432, and 2085 color properties
Appeared in H.264 2016/02.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-06-21 09:29:04 -04:00
Vittorio Giovara 523c4c5b70 fate: Add TrueMotion 2 RT tests 2016-06-20 15:51:34 -04:00
Vittorio Giovara 906ffed9b1 fate: Move Duck Truemotion 1 and 2 tests to vpx.mak 2016-06-20 15:49:09 -04:00
Vittorio Giovara cc58656aca fate: Add tests for MagicYUV 2016-06-20 15:47:23 -04:00
Vittorio Giovara 846a3e78a5 mov: Support prores with multiple stsd
This function needs to return false, or data in the additional tables
will be skipped, and the decoder will not be able to decode frames
associated with them.
2016-06-17 11:38:33 -04:00
Vittorio Giovara 7672997004 mov: Implement support for multiple sample description tables
Store data from each stsd in a separate extradata buffer, keep track of
the stsc index for read and seek operations, switch buffers when the
index differs. Decoder is notified with an AV_PKT_DATA_NEW_EXTRADATA
packet side data.

Since H264 supports this notification, and can be reset midstream, enable
this feature only for multiple avcC's. All other stsd types (such as
hvc1 and hev1) need decoder-side changes, so they are left disabled for
now.

This is implemented only in non-fragmented MOVs.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-06-17 11:38:33 -04:00
Vittorio Giovara 187d719760 h264: Support AV_PKT_DATA_NEW_EXTRADATA 2016-06-17 11:05:33 -04:00
Vittorio Giovara 75872d77d2 lavc: Document AV_PKT_DATA_NEW_EXTRADATA 2016-06-17 11:02:40 -04:00
Vittorio Giovara 05a4bacbf7 avpacket: Error out when creating 0-sized side data
This mimics the behaviour of other av_*_new_side_data().
This is not caught by the malloc check, since padding
is always added to the allocated size.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-06-13 13:31:21 -04:00
Vittorio Giovara bcc07e2576 pixdesc: Use C99 array to list color properties names 2016-06-13 11:51:18 -04:00
Vittorio Giovara c3ed259e4f fate: Move Canopus decoder tests to a separate file
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-06-06 11:59:53 -04:00
Vittorio Giovara 20a8c78ce0 avconv: Do not copy extradata if source buffer is empty
Fixes clang-usan runtime error "null pointer passed as argument 2,
which is declared to never be null" while streamcopying.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-06-06 11:56:21 -04:00
Vittorio Giovara 8e757716c6 avprobe: Print stereo3d information 2016-05-17 12:25:27 -04:00
Vittorio Giovara 0c4468dc18 stereo3d: Add API to get name from value or value from name
Use it in av_dump_format() instead of a huge switch case.
2016-05-17 12:25:27 -04:00
Vittorio GiovaraandDiego Biurrun 41ed7ab45f cosmetics: Fix spelling mistakes
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-05-04 18:16:21 +02:00
Vittorio Giovara 4b2e69397b dds: Add support for monochrome images 2016-04-26 16:30:18 -04:00
Vittorio Giovara 6eb2505855 dds: Drop gray-alpha swapping
The original sample was generated with invalid software.
2016-04-26 16:30:04 -04:00
Vittorio Giovara 5fca95c8e5 libx264: Forbid inverted Stereo3D mode 2016-04-21 12:25:42 -04:00
Vittorio Giovara 9e2af0e907 libx264: Allow Stereo3D monoscopic value 2016-04-21 12:24:35 -04:00
Vittorio Giovara 00658253e2 fate: Update DDS tests 2016-04-06 12:13:50 -04:00
Vittorio Giovara 22e49e6ede dds: Simplify postprocessing check 2016-04-06 12:13:50 -04:00
Vittorio Giovara 0253863626 dds: Add support for alpha-only files
Due to how pixel format conversion is done, they behave the same way
as gray files.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-04-06 12:13:49 -04:00
Vittorio Giovara 9a9fb710bc dds: Add support for rgb555 files
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-04-06 12:13:47 -04:00
Vittorio Giovara 8dde92b95a fate: Update Screenpresso tests 2016-04-04 15:41:57 +02:00
Vittorio Giovara ec8a69fab6 screenpresso: Correctly handle keyframes
The first byte contains compression level together with keyframe status.
When a frame is not interpreted correctly, its data is summed to the
reference, and would degrade over time, producing an incorrect result.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-04-04 15:40:14 +02:00
Vittorio Giovara 95db8c757c screenpresso: Add extended pixel format support
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-04-04 15:40:06 +02:00
Vittorio Giovara b5f47d95c6 fate: Update RSCC tests
The current sample comes from an older version of the codec, which
supports a single output mode, so rename it accordingly.
Add tests for the new pixel formats.
2016-04-04 15:39:58 +02:00
Vittorio Giovara 51dc4de121 rscc: Add extended pixel format support
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-04-04 15:39:51 +02:00
Vittorio GiovaraandMichael Niedermayer 7888ae8266 cfhd: Do not initialize context size
Otherwise probing and stream analisys will report a correct coded size
but an empty visible size.

Approved by: kieran
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-03-29 17:06:15 +02:00
Vittorio Giovara ca8c759173 intrax8: Remove mpegvideo dependency 2016-03-29 13:41:09 +02:00
Vittorio Giovara 9b57995cdd intrax8: Drop MB emulation code
This is already performed in init_context_frame().
2016-03-29 13:41:09 +02:00
Vittorio Giovara 9fa888c028 intrax8: Keep a reference to the decoder blocks 2016-03-29 13:41:09 +02:00
Vittorio Giovara c2084ffcbf intrax8: Use the generic horizband function
This is assuming that intrax8 has no support for interlacing
Carry over lowdelay value in ff_intrax8_decode_picture.
2016-03-29 13:41:09 +02:00
Vittorio Giovara b1268e0f03 intrax8: Pass macroblock coordinates to ff_intrax8_decode_picture
These values need to be updated with the last macroblock position,
so keep them as pointers.
2016-03-29 13:41:09 +02:00
Vittorio Giovara d0540fd021 intrax8: Pass macroblock size to ff_intrax8_common_init
Helps in decoupling this code from mpegvideo.
2016-03-29 13:41:09 +02:00
Vittorio Giovara 9f4d99138d fate: Add test for WMV2 with jframes 2016-03-29 13:41:09 +02:00
Vittorio Giovara 159323897f intrax8: Add a local BlockDSPContext and initialize it
Helps in decoupling this code from mpegvideo.
2016-03-25 15:55:49 -04:00
Vittorio Giovara 1eaae7abb8 intrax8: Reference the current AVCodecContext
It will be needed to initialize BlockDSP in the next commit.
2016-03-25 15:55:02 -04:00
Vittorio Giovara 8072345e9f intrax8: Keep a reference to the GetBitContext reader
Helps in decoupling this code from mpegvideo.
2016-03-25 15:54:29 -04:00
Vittorio Giovara 65f14128c4 intrax8: Use a constant buffer instead of a ScratchpadContext
The size of the block is fixed (8x8 plus padding).
2016-03-25 15:54:06 -04:00
Vittorio Giovara eaeba6f241 intrax8: Pass the output frame to the decoding function
Helps in decoupling this code from mpegvideo.
2016-03-25 15:53:02 -04:00
Vittorio Giovara 577393321c intrax8: Carry over the loopfilter value in ff_intrax8_decode_picture
Helps in decoupling this code from mpegvideo.
2016-03-25 15:52:44 -04:00
Vittorio Giovara 68127e1bf8 intrax8: Keep a reference to the context idctdsp
Use it instead of the embedded mpegvideo one. Update init function
signature to load it directly from the callers.
2016-03-25 15:52:24 -04:00
Vittorio Giovara 65127450ad intrax8: Make x8_init_block_index not use mpegvideo fields 2016-03-25 15:52:10 -04:00
Vittorio Giovara 922b7e6d86 intrax8: Use local destination buffers
These buffers are just a way to store frame pointers and be able to
modify them without touching the original ones.

The two dependent decoders (WMV2 and VC1) do not need special care for
these fields: the former does not seem to use the dest buffers, while
the latter reinits them every time to the current frame data buffers.

So only keep a local copy rather than the one from mpegvideo.
2016-03-25 15:51:50 -04:00
Vittorio Giovara d909f43b5c vc1dec: wmv2dec: Validate ff_intrax8_common_init return value 2016-03-22 17:33:32 -04:00
Vittorio Giovara 0372e73f91 intrax8: Check and propagate errors from ff_intrax8_common_init
This allows dropping an afterwards redundant assert.
2016-03-22 17:33:32 -04:00
Vittorio Giovara ad8aa8e6c6 intrax8: Move documentation from implementation to header file 2016-03-22 17:33:28 -04:00
Vittorio Giovara 2ade1cdafb intrax8: K&R formatting cosmetics 2016-03-22 17:12:20 -04:00
Vittorio Giovara 42244ce07a intrax8: Move a comment to the place it corresponds 2016-03-22 16:51:09 -04:00
Vittorio Giovara 750562549c intrax8: Wrap multiline macros in do{}while(0) clauses
These macros are treated like functions, the wrapping simplifies error
checking and avoids deeply nested ifs in the following commit.
2016-03-22 16:51:09 -04:00
Vittorio Giovara 0c6a70873f intrax8: Move error resilience out of intrax8
The intrax8 decoding process does not imply any kind of error
resilience, and the only call present is more related to how mpegvideo
works rather than anything else.

Therefore have the parent decoders carry out er when actually needed.
2016-03-22 16:51:09 -04:00
Vittorio Giovara 709c0f79d8 nuv: Use the correct context for av_image_check_size 2016-03-22 16:51:09 -04:00
Vittorio Giovara 64250d94b7 indeo4: Consistently initialize variables
Avoid using multiple variables for the same purpose.
2016-03-22 16:04:01 -04:00
Vittorio Giovara 6202e2fede indeo4: Rework stream analysis report
* Change log level from error to debug
* Print report after the first decoded frame, not at the end of decoding
* Drop macro guard and use a context variable instead

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-03-22 16:03:52 -04:00
Vittorio Giovara e10b7ef2fe vdpau: Add missing deprecation guards 2016-03-05 08:23:18 -05:00
Vittorio Giovara d40cb726d2 mov: Trim dref absolute path
Samples produced by Omneon (Harmonic) store external references with
paths ending with 0s. Such movs cannot be loaded properly since every
0 is converted to '/', to keep the same parsing code for dref type 2
and type 18: this makes the external reference point to a non-existing
direactory, rather than to the actual referenced file.

Add a brief trimming loop that drops all ending 0s before trying to
parse the external reference path.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-03-05 08:23:18 -05:00
Vittorio GiovaraandDiego Biurrun b39ab8549a fate: Add test for indeo2 with delta frames
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-03-01 21:54:08 +01:00
Vittorio Giovara e66fa35392 vc1dec: Check group allocations separatedly
This avoids accessing NULL pointers in case of error.
2016-02-25 15:21:42 -05:00
Vittorio Giovara 01f0e6a0c9 vc1dec: Fix leak on error for array allocations
The deinit function in the 'error' section will correctly free
everything.
2016-02-25 15:20:53 -05:00
Vittorio Giovara f91d94bdfc vc1dec: Properly call deinit function on error 2016-02-25 15:20:24 -05:00
Vittorio Giovara 35b1cd343c vc1dec: Drop commented out cruft 2016-02-25 15:19:36 -05:00
Vittorio Giovara fa55addd23 img2: Drop av_ prefix for a static function
This prefix is reserved for public functions only.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2016-02-24 13:56:46 -05:00
Vittorio Giovara 0837d1dfe2 libx264: Fix noise_reduction option assignment
First check the context, then check internal option. Drop the ! typo.
Introduced in 60f0fde309.
2016-02-22 19:06:48 -05:00
Vittorio GiovaraandDiego Biurrun 71eaefa64a build: Add missing celp_math dependency for G723_1 encoder and decoder
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-02-18 15:35:44 +01:00