Peter Boström
b7d9a97ce4
Expose codec implementation names in stats.
...
Used to distinguish between software/hardware encoders/decoders and
other implementation differences. Useful for tracking quality
regressions related to specific implementations.
BUG=webrtc:4897
R=hta@webrtc.org , mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1406903002 .
Cr-Commit-Position: refs/heads/master@{#11084}
2015-12-18 15:01:23 +00:00
Peter Boström
69ccb33131
Remove redudant encoder rate calls.
...
Moves EncoderParameters update checks into GenericEncoder before calling
SetRates/SetChannelParameters as applicable.
Also removes CodecConfigParameters as a bonus.
BUG=
R=stefan@webrtc.org
TBR=mflodman@webrtc.org
Review URL: https://codereview.webrtc.org/1426953003 .
Cr-Commit-Position: refs/heads/master@{#10452}
2015-10-29 15:30:29 +00:00
noahric
b1ce663d16
Allow encoders to fall back dynamically to software.
...
Like video_decoder.cc, a call to Encode that returns
WEBRTC_VIDEO_CODEC_FALLBACK_SOFTWARE will trigger an attempted fallback
to a built-in software encoder. Initialization information, along with
any rate and channel parameter info, will be replayed on the software
encoder and then the frame (that cause the fallback) will be immediately
replayed for the software encoder.
Also modified the existing behavior to Release() the "real" encoder even
if a fallback encoder exists. That seems like the correct behavior.
BUG=webrtc:2920
Review URL: https://codereview.webrtc.org/1328863002
Cr-Commit-Position: refs/heads/master@{#10368}
2015-10-22 06:54:57 +00:00
pbos
22993e1a0c
Unify FrameType and VideoFrameType.
...
Prevents some heap allocation and frame-type conversion since interfaces
mismatch. Also it's less confusing to have one type for this.
BUG=webrtc:5042
R=magjed@webrtc.org , mflodman@webrtc.org , henrik.lundin@webrtc.org , solenberg@webrtc.org , stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1371043003
Cr-Commit-Position: refs/heads/master@{#10320}
2015-10-19 09:39:15 +00:00
jackychen
6e2ce6e1ae
Allow for framerate reduction for HW encoder.
...
R=pbos@webrtc.org , stefan@webrtc.org
TBR=glaznev@google.com
Review URL: https://webrtc-codereview.appspot.com/51159004 .
Cr-Commit-Position: refs/heads/master@{#9573}
2015-07-13 23:26:40 +00:00
Zeke Chin
71f6f4405c
iOS HW H264 support.
...
First step towards supporting H264 on iOS. More tuning/experimentation
required in future CLs. Tested using AppRTCDemo on iPhone6 + iPad Mini.
Future work to get it working on OS/X, simulator (renders black screen
currently) and with the Android AppRTCDemo. Currently protected with a
compile time guard.
BUG=4081
R=andrew@webrtc.org , haysc@webrtc.org , holmer@google.com , jiayl@webrtc.org , kjellander@webrtc.org , pbos@webrtc.org , phoglund@webrtc.org , stefan@webrtc.org
Review URL: https://codereview.webrtc.org/1187573004 .
Cr-Commit-Position: refs/heads/master@{#9515}
2015-06-29 21:35:08 +00:00
Peter Boström
eb66e800d1
Re-land "Convert native handles to buffers before encoding."
...
This reverts commit a67675506c9057bd9ffd4d76aae8b743343d434d.
BUG=webrtc:4081
TBR=magjed@webrtc.org
Review URL: https://codereview.webrtc.org/1158273010
Cr-Commit-Position: refs/heads/master@{#9381}
2015-06-05 09:08:12 +00:00
Peter Boström
308d163c71
Revert "Convert native handles to buffers before encoding."
...
This reverts commit a831dc3a7d10a1fbaa258ee6b1ca6cfc7e91c5ca to unblock
rolling into Chromium.
BUG=4081
TBR=magjed@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/55549004
Cr-Commit-Position: refs/heads/master@{#9354}
2015-06-02 13:04:31 +00:00
Peter Boström
a831dc3a7d
Convert native handles to buffers before encoding.
...
Required to permit conversion of NV12 handles on iOS to I420 for VP8
software encoding, which blocks texture-based capture. This change
enforces that all texture-based input provides a method for converting
native handles to I420 if they are ever used with software encoders that
do not understand the native handles.
BUG=4081
R=emircan@chromium.org , glaznev@webrtc.org , hbos@webrtc.org , magjed@webrtc.org , mflodman@webrtc.org , stefan@webrtc.org , tkchin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/50909005
Cr-Commit-Position: refs/heads/master@{#9347}
2015-06-01 18:06:52 +00:00
Miguel Casas-Sanchez
4765070b8d
Rename I420VideoFrame to VideoFrame.
...
This is a mechanical change since it affects so many
files.
I420VideoFrame -> VideoFrame
and reformatted.
Rationale: in the next CL I420VideoFrame will
get an indication of Pixel Format (I420 for
starters) and of storage type: usually
UNOWNED, could be SHMEM, and in the near
future will be possibly TEXTURE. See
https://codereview.chromium.org/1154153003
for the change that happened in Cr.
BUG=4730, chromium:440843
R=jiayl@webrtc.org , niklas.enbom@webrtc.org , pthatcher@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/52629004
Cr-Commit-Position: refs/heads/master@{#9339}
2015-05-30 00:21:56 +00:00
Peter Boström
4d71edef45
Add HW fallback option to software encoding.
...
Permits falling back to software encoding for unsupported resolutions.
BUG=chromium:475116, chromium:487934
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/46279004
Cr-Commit-Position: refs/heads/master@{#9227}
2015-05-19 21:09:17 +00:00
jackychen
61b4d518af
Dynamic resolution change for VP8 HW encode.
...
Off by default for now.
BUG=
R=glaznev@webrtc.org , stefan@webrtc.org
TBR=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/45849004
Cr-Commit-Position: refs/heads/master@{#9045}
2015-04-21 22:29:53 +00:00
changbin.shao@webrtc.org
f31f56d8d4
Remove default arguments in EncodedImageCallback.
...
BUG=
R=mflodman@webrtc.org , pbos@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/39719004
Cr-Commit-Position: refs/heads/master@{#8289}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8289 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-09 09:14:48 +00:00
pkasting@chromium.org
16825b1a82
Use int64_t more consistently for times, in particular for RTT values.
...
Existing code was inconsistent about whether to use uint16_t, int, unsigned int,
or uint32_t, and sometimes silently truncated one to another, or truncated
int64_t. Because most core time-handling functions use int64_t, being
consistent about using int64_t unless otherwise necessary minimizes the number
of explicit or implicit casts.
BUG=chromium:81439
TEST=none
R=henrik.lundin@webrtc.org , holmer@google.com , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/31349004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8045 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-01-12 21:51:21 +00:00
pbos@webrtc.org
273a414b0e
Report encoded frame size in VideoSendStream.
...
Implements reporting transmitted frame size in WebRtcVideoEngine2.
R=mflodman@webrtc.org , stefan@webrtc.org
BUG=4033
Review URL: https://webrtc-codereview.appspot.com/33399004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7772 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-12-01 15:23:21 +00:00
pkasting@chromium.org
4591fbd09f
Use size_t more consistently for packet/payload lengths.
...
See design doc at https://docs.google.com/a/chromium.org/document/d/1I6nmE9D_BmCY-IoV6MDPY2V6WYpEI-dg2apWXTfZyUI/edit?usp=sharing for more information.
This CL was reviewed and approved in pieces in the following CLs:
https://webrtc-codereview.appspot.com/24209004/
https://webrtc-codereview.appspot.com/24229004/
https://webrtc-codereview.appspot.com/24259004/
https://webrtc-codereview.appspot.com/25109004/
https://webrtc-codereview.appspot.com/26099004/
https://webrtc-codereview.appspot.com/27069004/
https://webrtc-codereview.appspot.com/27969004/
https://webrtc-codereview.appspot.com/27989004/
https://webrtc-codereview.appspot.com/29009004/
https://webrtc-codereview.appspot.com/30929004/
https://webrtc-codereview.appspot.com/30939004/
https://webrtc-codereview.appspot.com/31999004/
Committing as TBR to the original reviewers.
BUG=chromium:81439
TEST=none
TBR=pthatcher,henrik.lundin,tina.legrand,stefan,tkchin,glaznev,kjellander,perkj,mflodman,henrika,asapersson,niklas.enbom
Review URL: https://webrtc-codereview.appspot.com/23129004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7726 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-20 22:28:14 +00:00
marpan@webrtc.org
5b88317820
Add VP9 codec to VCM and vie_auto_test.
...
Include VP9 tests in videoprocessor_integrationtests.
Include end-to-end send/receiveVP9 test.
This is the same patch as https://code.google.com/p/webrtc/source/detail?r=7422 , which was reverted when rolled into chrome (due to bss size increase). Relanding this again as we now have the clear to get this in:
see https://code.google.com/p/webrtc/issues/detail?id=3932
R=kjellander@webrtc.org , mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/31829004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7588 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-11-01 06:10:48 +00:00
henrike@webrtc.org
b1dac33cac
Revert cls (original cl + fixes) 7422-7424 "Add VP9 codec to VCM..."
...
BUG=3932
R=marpan@google.com
Review URL: https://webrtc-codereview.appspot.com/27779004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7470 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-17 18:54:46 +00:00
marpan@webrtc.org
573c78e31c
Add VP9 codec to VCM and vie_auto_test.
...
Include VP9 tests in videoprocessor_integrationtests.
Include end-to-end send/receiveVP9 test.
Passes trybots.
R=kjellander@webrtc.org , mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/29449004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7422 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-10-10 16:44:47 +00:00
pbos@webrtc.org
6cd6ba8ae0
Expose VP8/H264 defaults through video_encoder.h.
...
Reduces code duplication quite a bit, these identical defaults were set
in quite a few different places.
R=mflodman@webrtc.org , stefan@webrtc.org
BUG=3070
Review URL: https://webrtc-codereview.appspot.com/19299004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7220 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-18 12:42:28 +00:00
pbos@webrtc.org
ab990ae43a
Revert 7151 "Revert 7114 "Expose VideoEncoders with webrtc/video_encoder.h.""
...
Re-lands r7114 after landing r7204 to adress the compile error causing
the rollback in r7151.
BUG=3070
TBR=henrikg@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/28489004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7207 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-17 09:02:25 +00:00
henrikg@webrtc.org
307d3dbdee
Revert 7114 "Expose VideoEncoders with webrtc/video_encoder.h."
...
Speculative revert, seems to be reason for flaky Win FYI bot compile break.
> Expose VideoEncoders with webrtc/video_encoder.h.
>
> Exposes VideoEncoders as part of the public API and provides a factory
> method for creating them.
>
> BUG=3070
> R=mflodman@webrtc.org , stefan@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/21929004
TBR=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/19329004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7151 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-11 09:48:30 +00:00
pbos@webrtc.org
b420191743
Expose VideoEncoders with webrtc/video_encoder.h.
...
Exposes VideoEncoders as part of the public API and provides a factory
method for creating them.
BUG=3070
R=mflodman@webrtc.org , stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/21929004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7114 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-09-09 10:40:56 +00:00