Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Unified Diff: source/libvpx/examples/simple_encoder.txt

Issue 148913004: libvpx: Pull from upstream (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « source/libvpx/examples/simple_encoder.c ('k') | source/libvpx/examples/twopass_encoder.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: source/libvpx/examples/simple_encoder.txt
===================================================================
--- source/libvpx/examples/simple_encoder.txt (revision 247498)
+++ source/libvpx/examples/simple_encoder.txt (working copy)
@@ -1,105 +0,0 @@
-@TEMPLATE encoder_tmpl.c
-Simple Encoder
-==============
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ INTRODUCTION
-This is an example of a simple encoder loop. It takes an input file in
-YV12 format, passes it through the encoder, and writes the compressed
-frames to disk in IVF format. Other decoder examples build upon this
-one.
-
-The details of the IVF format have been elided from this example for
-simplicity of presentation, as IVF files will not generally be used by
-your application. In general, an IVF file consists of a file header,
-followed by a variable number of frames. Each frame consists of a frame
-header followed by a variable length payload. The length of the payload
-is specified in the first four bytes of the frame header. The payload is
-the raw compressed data.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ INTRODUCTION
-
-
-Standard Includes
------------------
-For encoders, you only have to include `vpx_encoder.h` and then any
-header files for the specific codecs you use. In this case, we're using
-vp8. The `VPX_CODEC_DISABLE_COMPAT` macro can be defined to ensure
-strict compliance with the latest SDK by disabling some backwards
-compatibility features. Defining this macro is encouraged.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ENC_INCLUDES
-@DEFAULT
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ENC_INCLUDES
-
-
-Getting The Default Configuration
----------------------------------
-Encoders have the notion of "usage profiles." For example, an encoder
-may want to publish default configurations for both a video
-conferencing appliction and a best quality offline encoder. These
-obviously have very different default settings. Consult the
-documentation for your codec to see if it provides any default
-configurations. All codecs provide a default configuration, number 0,
-which is valid for material in the vacinity of QCIF/QVGA.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ENC_DEF_CFG
-@DEFAULT
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ENC_DEF_CFG
-
-
-Updating The Configuration
----------------------------------
-Almost all applications will want to update the default configuration
-with settings specific to their usage. Here we set the width and height
-of the video file to that specified on the command line. We also scale
-the default bitrate based on the ratio between the default resolution
-and the resolution specified on the command line.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ENC_SET_CFG
-@DEFAULT
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ENC_SET_CFG
-
-
-Initializing The Codec
-----------------------
-The encoder is initialized by the following code.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ENC_INIT
-@DEFAULT
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ENC_INIT
-
-
-Encoding A Frame
-----------------
-The frame is read as a continuous block (size width * height * 3 / 2)
-from the input file. If a frame was read (the input file has not hit
-EOF) then the frame is passed to the encoder. Otherwise, a NULL
-is passed, indicating the End-Of-Stream condition to the encoder. The
-`frame_cnt` is reused as the presentation time stamp (PTS) and each
-frame is shown for one frame-time in duration. The flags parameter is
-unused in this example. The deadline is set to VPX_DL_REALTIME to
-make the example run as quickly as possible.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ENCODE_FRAME
-@DEFAULT
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ENCODE_FRAME
-
-Processing The Encoded Data
----------------------------
-Each packet of type `VPX_CODEC_CX_FRAME_PKT` contains the encoded data
-for this frame. We write a IVF frame header, followed by the raw data.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PROCESS_FRAME
-@DEFAULT
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ PROCESS_FRAME
-
-
-Cleanup
--------
-The `vpx_codec_destroy` call frees any memory allocated by the codec.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DESTROY
-@DEFAULT
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DESTROY
-
-
-Error Handling
---------------
-This example does not special case any error return codes. If there was
-an error, a descriptive message is printed and the program exits. With
-few exeptions, vpx_codec functions return an enumerated error status,
-with the value `0` indicating success.
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DIE_CODEC
-@DEFAULT
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DIE_CODEC
« no previous file with comments | « source/libvpx/examples/simple_encoder.c ('k') | source/libvpx/examples/twopass_encoder.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698