Derek Buitenhuis
7ab2c036b9
Merge commit ' e9f884416c'
...
* commit 'e9f884416c ':
h264: move reading direct_spatial_mv_pred out of ff_set_ref_count()
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-05-17 14:38:14 +01:00
Hendrik Leppkes
15ad023210
Merge commit ' 8d0cc8ca97'
...
* commit '8d0cc8ca97 ':
h264_parser: switch to h2645_parse for NAL unescaping
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2016-05-17 14:21:12 +02:00
Vittorio Giovara
41ed7ab45f
cosmetics: Fix spelling mistakes
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2016-05-04 18:16:21 +02:00
Derek Buitenhuis
ee38234c43
Merge commit ' e481458bc3'
...
* commit 'e481458bc3 ':
h264: factor out pred weight table parsing into a separate file
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-26 15:04:29 +01:00
Derek Buitenhuis
9809371aa5
Merge commit ' a7da517f6a'
...
* commit 'a7da517f6a ':
h264data: Move all data tables from a header to a .c file
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-24 11:54:53 +01:00
Derek Buitenhuis
64ae08ffec
Merge commit ' 02cd8bb9cb'
...
* commit '02cd8bb9cb ':
h264: Clean up #includes
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-24 11:36:44 +01:00
Anton Khirnov
72da8d9bb2
h264_parser: remove the remaining dependencies on the h264 decoder
2016-04-24 10:06:24 +02:00
Anton Khirnov
98c97994c5
h264: decouple extradata parsing from the decoder
...
This will allow decoupling the parser from the decoder.
2016-04-24 10:06:24 +02:00
Anton Khirnov
728d90a0c1
h264: decouple h264_sei from the h264 decoder
...
Make the SEI parsing independent of the H264Context, to allow
decoupling the parser from the decoder.
2016-04-24 10:06:24 +02:00
Anton Khirnov
c8dcff0cdb
h264: factor out calculating the POC count into a separate file
...
This will allow decoupling the parser from the decoder.
2016-04-24 10:06:24 +02:00
Anton Khirnov
113aeee6ae
h264_parser: move the H264DSPContext to the parser context
2016-04-24 10:06:24 +02:00
Anton Khirnov
3176217c60
h264: decouple h264_ps from the h264 decoder
...
Make the SPS/PPS parsing independent of the H264Context, to allow
decoupling the parser from the decoder. The change is modelled after the
one done earlier for HEVC.
Move the dequant buffers to the PPS to avoid complex checks whether they
changed and an expensive copy for frame threads.
2016-04-24 10:06:23 +02:00
Anton Khirnov
44d16df413
h264_parser: eliminate H264SliceContext usage
...
It is no longer needed for anything.
2016-04-24 10:06:23 +02:00
Anton Khirnov
a6e27f7add
h264: factor out parsing the reference count into a separate file
...
This will allow decoupling the parser from the decoder.
2016-04-24 10:06:23 +02:00
Anton Khirnov
e9f884416c
h264: move reading direct_spatial_mv_pred out of ff_set_ref_count()
...
It has nothing to do with the reference count and so does not belong in
this function.
2016-04-24 10:06:23 +02:00
Anton Khirnov
8d0cc8ca97
h264_parser: switch to h2645_parse for NAL unescaping
...
Remove now unused ff_h264_decode_nal().
2016-04-24 10:06:23 +02:00
Anton Khirnov
e481458bc3
h264: factor out pred weight table parsing into a separate file
...
This will allow decoupling the parser from the decoder.
2016-03-28 09:48:31 +02:00
Diego Biurrun
a7da517f6a
h264data: Move all data tables from a header to a .c file
2016-03-25 15:56:14 +01:00
Diego Biurrun
02cd8bb9cb
h264: Clean up #includes
2016-03-25 15:23:55 +01:00
Mark Harris
c51c08e0e7
avcodec: Use get_ue_golomb_long() when needed
...
get_ue_golomb() cannot decode values larger than 8190 (the maximum
value that can be golomb encoded in 25 bits) and produces the error
"Invalid UE golomb code" if a larger value is encountered. Use
get_ue_golomb_long() instead (which supports 63 bits, up to 4294967294)
when valid h264/hevc values can exceed 8190.
This updates decoding of the following values: (maximum)
first_mb_in_slice 36863* for level 5.2
abs_diff_pic_num_minus1 131071
difference_of_pic_nums_minus1 131071
idr_pic_id 65535
recovery_frame_cnt 65535
frame_packing_arrangement_id 4294967294
frame_packing_arrangement_repetition_period 16384
display_orientation_repetition_period 16384
An alternative would be to modify get_ue_golomb() to handle encoded
values of up to 49 bits as was done for get_se_golomb() in a92816c .
In that case get_ue_golomb() could continue to be used for all of
these except frame_packing_arrangement_id.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-29 13:11:51 +01:00
Diego Biurrun
8161220eee
h264_parser: Rename close() to h264_close()
...
At least on AIX it conflicts with the close() libc function from unistd.h.
2015-11-01 14:52:01 +01:00
Michael Niedermayer
bc48c88918
avcodec/h264: Do not fail with randomly truncated VUIs
...
Fixes Ticket4445
Tested-by: Vittorio Giovara <vittorio.giovara@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-10 18:35:07 +02:00
Michael Niedermayer
0f8bb0efc3
Merge commit ' 5bf3c0fa49'
...
* commit '5bf3c0fa49 ':
h264: drop the now unused per-slice H264Contexts
Conflicts:
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 21:41:17 +01:00
Michael Niedermayer
84ae7294cb
Merge commit ' 3178f4d33f'
...
* commit '3178f4d33f ':
h264: move rbsp_buffer into the per-slice context
Conflicts:
libavcodec/h264.c
libavcodec/h264_parser.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 20:16:21 +01:00
Michael Niedermayer
55215383dc
Merge commit ' f42485dbce'
...
* commit 'f42485dbce ':
h264: use a separate GetBitContext for slice data
Conflicts:
libavcodec/h264.c
libavcodec/h264_cavlc.c
libavcodec/h264_parser.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 17:13:24 +01:00
Michael Niedermayer
cc2cfdc497
Merge commit ' 95eb35f305'
...
* commit '95eb35f305 ':
h264: move the ref lists variables into the per-slice context
Conflicts:
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
libavcodec/h264_direct.c
libavcodec/h264_mb.c
libavcodec/h264_picture.c
libavcodec/h264_refs.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 15:18:10 +01:00
Michael Niedermayer
97c8ecaada
Merge commit ' 56febc993b'
...
* commit '56febc993b ':
h264: move the slice type variables into the per-slice context
Conflicts:
libavcodec/h264.c
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
libavcodec/h264_slice.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 14:30:19 +01:00
Michael Niedermayer
756dc7bd18
Merge commit ' 92c6c2a605'
...
* commit '92c6c2a605 ':
h264: split weighted pred-related vars into per-slice context
Conflicts:
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_mb.c
libavcodec/svq3.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-21 13:13:12 +01:00
Anton Khirnov
5bf3c0fa49
h264: drop the now unused per-slice H264Contexts
2015-03-21 11:27:16 +01:00
Anton Khirnov
3178f4d33f
h264: move rbsp_buffer into the per-slice context
2015-03-21 11:27:15 +01:00
Anton Khirnov
f42485dbce
h264: use a separate GetBitContext for slice data
2015-03-21 11:27:14 +01:00
Anton Khirnov
95eb35f305
h264: move the ref lists variables into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
56febc993b
h264: move the slice type variables into the per-slice context
2015-03-21 11:27:13 +01:00
Anton Khirnov
92c6c2a605
h264: split weighted pred-related vars into per-slice context
2015-03-21 11:27:09 +01:00
Michael Niedermayer
560eb7179a
Merge commit ' 31d2039cb4'
...
* commit '31d2039cb4 ':
h264_parser: export video format and dimensions
Conflicts:
libavcodec/h264_parser.c
libavcodec/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 20:39:04 +01:00
Anton Khirnov
31d2039cb4
h264_parser: export video format and dimensions
2015-02-19 15:07:52 +01:00
Zhaoxiu Zeng
2a72b1664d
avcodec/h264: use avpriv_find_start_code() in h264_split()
...
This also allows replacing several literal numbers by named constants
And it should be faster, the function is not speed relevant though as it is
generally only called a few times at the streams start.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 01:13:32 +01:00
Michael Niedermayer
ccaa5dcb31
avcodec/h264_parser: Rename close()
...
This avoids a potential conflict with the equally named function for closing files
It also could reduce confusion in debugger backtraces
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-28 13:11:03 +01:00
Michael Niedermayer
6e57d2da90
Merge commit ' 9404a47a2d'
...
* commit '9404a47a2d ':
h264: move parser-only variables to their own context
Conflicts:
libavcodec/h264_parser.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-27 15:08:17 +01:00
Anton Khirnov
58ae8d5957
h264_parser: restore a comment lost in 0268a54
2015-01-27 09:09:56 +01:00
Anton Khirnov
9404a47a2d
h264: move parser-only variables to their own context
2015-01-27 09:08:31 +01:00
Michael Niedermayer
9d6ad68fa4
avcodec/h264_parser: Avoid adding SEI to the global header
...
Only consider SEI when no PPS has been found yet
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-12 03:28:15 +01:00
Michael Niedermayer
940f5c08e5
Merge commit ' 1b66726906'
...
* commit '1b66726906 ':
h264_parser: don't stop on SPS_EXT in split
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-11 23:21:12 +01:00
John Stebbins
1b66726906
h264_parser: don't stop on SPS_EXT in split
...
Add SPS_EXT, SEI, and subset SPS to codes that are skipped during split.
These codes can come before the PPS and results in incomplete extradata.
2014-11-11 11:49:55 +01:00
Michael Niedermayer
fc8d59fa6f
avcodec/h264_parser: Use av_freep() to avoid leaving stale pointers
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-30 23:58:52 +01:00
Michael Niedermayer
69a9a90d2e
avcodec/h264_parser: rewrite the parse_nal_units() loop logic based on h264.c
...
Fixes Ticket4011
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-27 04:58:49 +01:00
Michael Niedermayer
09450c5509
avcodec/h264: fix time_base and framerate
...
They are not just inverses of each other.
This should restore behavior to before the introduction of framerate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-15 16:08:36 +02:00
Michael Niedermayer
fb33bff990
Merge commit ' f929ab0569'
...
* commit 'f929ab0569 ':
cosmetics: Write NULL pointer equality checks more compactly
Conflicts:
cmdutils.c
ffmpeg_opt.c
ffplay.c
libavcodec/dvbsub.c
libavcodec/dvdsubdec.c
libavcodec/dvdsubenc.c
libavcodec/dxa.c
libavcodec/libxvid_rc.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/rv10.c
libavcodec/tiffenc.c
libavcodec/utils.c
libavcodec/vc1dec.c
libavcodec/zmbv.c
libavdevice/v4l2.c
libavformat/matroskadec.c
libavformat/movenc.c
libavformat/sdp.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 21:00:50 +02:00
Gabriel Dume
f929ab0569
cosmetics: Write NULL pointer equality checks more compactly
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-15 03:18:18 -07:00
Michael Niedermayer
77aafadc56
Merge commit ' db7f1c7c5a'
...
* commit 'db7f1c7c5a ':
h264: Move start code search functions into separate source files.
Conflicts:
libavcodec/arm/Makefile
libavcodec/arm/h264dsp_init_arm.c
libavcodec/h264_parser.c
libavcodec/h264dsp.c
libavcodec/startcode.c
libavcodec/startcode.h
See: 270cede3f3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-05 12:46:10 +02:00