[x264-devel] commit: Interactive encoder control: error resilience ( Jason Garrett-Glaser )
git at videolan.org
git at videolan.org
Thu Jul 15 04:08:49 CEST 2010
x264 | branch: stable | Jason Garrett-Glaser <darkshikari at gmail.com> | Wed Jun 23 17:29:34 2010 -0700| [57b2e56d247c009b390592c2cdea7fc7a4100124] | committer: Jason Garrett-Glaser
Interactive encoder control: error resilience
In low-latency streaming with few clients, it is often feasible to modify encoder behavior in some fashion based on feedback from clients.
One possible application of this is error resilience: if a packet is lost, mark the associated frame (and any referenced from it) as lost.
This allows quick recovery from errors with minimal expense bit-wise.
The new i_dpb_size parameter allows a calling application to tell x264 to use a larger DPB size than required by the number of reference frames.
This lets x264 and the client keep a large buffer of old references to fall back to in case of lost frames.
If no recovery is possible even with the available buffer, x264 will force a keyframe.
This initial version does not support B-frames or intra refresh.
Recommended usage is to set keyint to a very large value, so that keyframes do not occur except as necessary for extreme error recovery.
Full documentation is in x264.h.
Move DTS/PTS calculation to before encoding each frame instead of after.
Improve documentation of x264_encoder_intra_refresh.
> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=57b2e56d247c009b390592c2cdea7fc7a4100124
---
common/common.c | 2 +
common/common.h | 2 +
common/frame.c | 1 +
common/frame.h | 4 ++
common/mvpred.c | 14 +++++---
encoder/encoder.c | 96 +++++++++++++++++++++++++++++++++++++++-------------
encoder/set.c | 4 +-
x264.h | 35 ++++++++++++++++++-
8 files changed, 125 insertions(+), 33 deletions(-)
Diff: http://git.videolan.org/gitweb.cgi/x264.git/?a=commitdiff;h=57b2e56d247c009b390592c2cdea7fc7a4100124
More information about the x264-devel
mailing list