diff options
Diffstat (limited to 'chromium/third_party/libvpx/source/libvpx/examples/simple_encoder.txt')
-rw-r--r-- | chromium/third_party/libvpx/source/libvpx/examples/simple_encoder.txt | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/chromium/third_party/libvpx/source/libvpx/examples/simple_encoder.txt b/chromium/third_party/libvpx/source/libvpx/examples/simple_encoder.txt deleted file mode 100644 index 44c5b086d58..00000000000 --- a/chromium/third_party/libvpx/source/libvpx/examples/simple_encoder.txt +++ /dev/null @@ -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 |